<?php

class Daftar_con extends CI_Controller {

    function __construct() {
        parent::__construct();
        $this->load->library('date_func');
    }

    function index() {
        //menampilkan halaman login
        if ($this->session->userdata('Loggedin') == true) {
            $this->home();
        } else {
            $this->form_login();
        }
    }

    function form_login() {

        //melakukan query untuk no term dan tahun, dan menyimpannya di session
        $term_thn = $this->db->get_where('term', array('STATUS' => 'BELUM'))->row_array();
        $data_session = array(
            'term' => $term_thn['NO_TERM'],
            'idterm' => $term_thn['ID_TERM'],
            'tahun' => $term_thn['TAHUN'],
            'status' => $term_thn['STATUS']
        );

        $this->session->set_userdata($data_session);

        $display['noterm'] = $this->session->userdata('term');
        $display['thnterm'] = $this->session->userdata('tahun');
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/login_view', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function validate_login() {

        //Melakukan query untuk mengambil data user yang login
        $usr = $this->input->post('username');
        $password = $this->input->post('password');
        $strquery = "SELECT *
                FROM (
                user
                NATURAL JOIN role
                )
                NATURAL JOIN daftar_role
                WHERE USERNAME='" . $usr . "'
                AND PASSWORD='" . md5($password) . "'
                AND NAMA_ROLE='FO'
                ";
        $query = $this->db->query($strquery);
        //jika gagal login
        if ($query->num_rows() == 0) {
            redirect(base_url() . 'pendaftaran');
        }
        //jika sukses login
        $result = $query->row_array();

        //Melakukan query jumlah pendaftar yang mendaftar pada si user
        $strquery = "SELECT DISTINCT count(ID_USER) as jumlah FROM peserta_kelas WHERE ID_FO=" . $result['ID'] . " AND ID_TERM=" . $this->session->userdata('idterm');

        $jumlah = $this->db->query($strquery)->row_array();

        $data = array(
            'Loggedin' => TRUE,
            'Nama' => $result['NAMA'],
            'ID' => $result['ID'],
            'jumlah' => $jumlah['jumlah']
        );
        $this->session->set_userdata($data);

        redirect(base_url() . 'pendaftaran/daftar_con/home');
    }

    function logout() {
        $this->session->sess_destroy();
        redirect(base_url() . 'pendaftaran');
    }

    function home() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        //query untuk mendapatkan total jumlah pendaftar
        $idterm = $this->session->userdata('idterm');
        $strquery = "SELECT DISTINCT count(ID_USER) as jumlah FROM peserta_kelas WHERE ID_TERM=" . $idterm;
        $display['total'] = $this->db->query($strquery)->row()->jumlah;

        //query untuk mendapatkan total jumlah pendaftar yang gratis
        $strquery = "SELECT DISTINCT count(ID_USER) as jumlah FROM peserta_kelas WHERE ID_TERM=" . $idterm . " and TOTAL_BAYAR=0";
        $display['total_gratis'] = $this->db->query($strquery)->row()->jumlah;

        //query untuk mendapatkan pendaftar hari ini
        $today = date('Y-m-d');
        $strquery = "SELECT DISTINCT count(ID_USER) as jumlah FROM peserta_kelas WHERE ID_TERM=" . $idterm . " and TGL_DAFTAR='" . $today . "'";
        $display['total_today'] = $this->db->query($strquery)->row()->jumlah;

        //query untuk mendapatkan pendaftar kemarin
        $yesterday = date_create($today);
        date_sub($yesterday, date_interval_create_from_date_string('1 days'));
        $yesterday = date_format($yesterday, 'Y-m-d');
        $strquery = "SELECT DISTINCT count(ID_USER) as jumlah FROM peserta_kelas WHERE ID_TERM=" . $idterm . " and TGL_DAFTAR='" . $yesterday . "'";
        $display['total_yesterday'] = $this->db->query($strquery)->row()->jumlah;

        //query untuk mendapatkan pendaftar minggu ini
        $num_day = date('w');
        $this_week = date_create($today);
        date_sub($this_week, date_interval_create_from_date_string($num_day . ' days'));
        $this_week = date_format($this_week, 'Y-m-d');
        $strquery = "SELECT DISTINCT count(ID_USER) as jumlah FROM peserta_kelas WHERE ID_TERM=" . $idterm . " and TGL_DAFTAR>='" . $this_week . "'";
        $display['total_thisweek'] = $this->db->query($strquery)->row()->jumlah;

        //query untuk mendapatkan pendaftar minggu lalu
        $last_week = date_create($this_week);
        date_sub($last_week, date_interval_create_from_date_string('7 days'));
        $last_week = date_format($last_week, 'Y-m-d');
        $strquery = "SELECT DISTINCT count(ID_USER) as jumlah FROM peserta_kelas WHERE ID_TERM=" . $idterm . " and TGL_DAFTAR>='" . $last_week . "' and TGL_DAFTAR<'" . $this_week . "'";
        $display['total_lastweek'] = $this->db->query($strquery)->row()->jumlah;

        //query untuk mendapatkan pelatihan pada term yang aktif
        $strquery = 'select * from pelatihan natural join kelas where TERM=' . $this->session->userdata('term') . ' and TAHUN=' . $this->session->userdata('tahun');
//        echo $strquery;
        $display['hasil'] = $this->db->query($strquery)->result_array();

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/home_view', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function list_pendaftar($kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        //query untuk informasi kelas pelatihan
        $hasil = $this->db->query('select * from pelatihan natural join kelas where ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"')->row_array();
        $display['namapelatihan'] = $hasil['NAMA_PELATIHAN'];
        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $display['kuota'] = $hasil['KUOTA'];
        $display['harga'] = $hasil['HARGA'];

        //query untuk informasi jadwal pelatihan
        $strqueryhari = "SELECT DISTINCT HARI FROM jadwal_pelatihan WHERE KODE_PELATIHAN = '" . $display['kode'] . "' AND ANGKATAN=" . $display['angkatan'] . " ORDER BY HARI";
        $reshari = $this->db->query($strqueryhari)->result_array();

        for ($i = 0; $i < count($reshari); $i++) {
            $strquerywaktumin = "SELECT MIN(KODE_WAKTU) as Min FROM jadwal_pelatihan WHERE KODE_PELATIHAN = '" . $display['kode'] . "' AND ANGKATAN =" . $display['angkatan'] . " AND HARI=" . $reshari[$i]['HARI'];
            $waktumin = $this->db->query($strquerywaktumin)->row()->Min;
            $strquerywaktumax = "SELECT MAX(KODE_WAKTU) as Max FROM jadwal_pelatihan WHERE KODE_PELATIHAN = '" . $display['kode'] . "' AND ANGKATAN =" . $display['angkatan'] . " AND HARI=" . $reshari[$i]['HARI'];
            $waktumax = $this->db->query($strquerywaktumax)->row()->Max;
            $display['waktu'][$i]['hari'] = $this->konversi_hari($reshari[$i]['HARI']);
            $display['waktu'][$i]['jam'] = $this->konversi_kode_waktu($waktumin, $waktumax);
        }


        //query untuk list pendaftar
        $jum = $this->db->query('select count(ID_USER) as jum from peserta_kelas where ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"')->row();
        $display['jumlah'] = $jum->jum;

        $display['pendaftar'] = $this->db->query('select * from user inner join peserta_kelas on user.ID=peserta_kelas.ID_USER where ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"')->result_array();

        $display['jumlah_pendaftar'] = count($display['pendaftar']);


        $display['total_sudah_lunas'] = 0;
        $display['total_sudah_confirm'] = 0;
        $display['total_sudah_kit'] = 0;
        $display['total_sudah_modul'] = 0;
        $display['total_sudah_sertifikat'] = 0;
        $display['total_sudah_kartu'] = 0;
        $display['full_attendance'] = 0;
        $display['min_attendance'] = 0;

        //query untuk mengetahui data sesi kelas dan sekarang sesi berapa
        $data_kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $total_kelas_sesi = $data_kelas['JAM_TOTAL'] / $data_kelas['JAM_PER_SESI'];
        $query_kelas = $this->db->get_where('daftar_jadwal', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'TANGGAL <=' => date('Y-m-d')));
        $total_sesi_jalan = $query_kelas->num_rows();
        $display['sesi_jalan'] = $total_sesi_jalan;
        $display['sesi_selesai'] = (($total_kelas_sesi == $total_sesi_jalan) && ($total_sesi_jalan != 0));

        
        $status=$hasil['STATUS'];
        if($status=='JALAN'){
            $tgl_sesi = 'Ongoing : Sesi '.$total_sesi_jalan.' of '.$total_kelas_sesi;
        }else if($status=='BELUM'){
            $status='OPEN';
            if($hasil['TGL_MULAI']=='0000-00-00'){
                $tgl_sesi='TBN';
            }else{
                $tgl_sesi = date_create($hasil['TGL_MULAI']);
                $tgl_sesi= 'Start : '.date_format($tgl_sesi, 'd F Y');
            }
        }else if($status=='SELESAI'){
            $all_sesi = $query_kelas->result_array();
            $last_sesi = $all_sesi[count($all_sesi) - 1]['TANGGAL'];
            $last_sesi = date_create($last_sesi);
            $tgl_sesi = 'Finished '.date_format($last_sesi, 'd F Y');
        }
        
        $display['tgl_sesi']=$tgl_sesi;
        
        //klo kelas selese, ambil data sesi yg terakhir di array
        if ($display['sesi_selesai']) {
            $all_sesi = $query_kelas->result_array();
            $last_sesi = $all_sesi[count($all_sesi) - 1];
            //echo $last_sesi['TANGGAL'];
            $tgl_last_sesi = str_replace('-', '', $last_sesi['TANGGAL']);
            $month_part = substr($tgl_last_sesi, 4, 2);
            $year_part = substr($tgl_last_sesi, 2, 2);
            $no_sert_part_2 = $month_part . $year_part;

            if ($angkatan < 10) {
                $str_angkatan = '0' . $angkatan;
            } else {
                $str_angkatan = $angkatan;
            }
        }

        //looping untuk membuat data-data tiap pendaftar
        for ($i = 0; $i < count($display['pendaftar']); $i++) {
            //Mengambil data pembayaran
            $query_bayar = 'SELECT SUM(JUMLAH) as TOTAL FROM pembayaran WHERE ID=' . $display['pendaftar'][$i]['ID'] . ' and KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan;
            $bayar = $this->db->query($query_bayar)->row_array();
            $display['pendaftar'][$i]['sudah_bayar'] = $bayar['TOTAL'];

            //Mengambil total diskon
            $all_disc = $this->db->query('select sum(BESAR_DISKON) as total_diskon from get_diskon where ID_USER=' . $display['pendaftar'][$i]['ID'] . ' and KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan)->row();
            $display['pendaftar'][$i]['diskon'] = $all_disc->total_diskon;

            if ($display['pendaftar'][$i]['diskon'] == NULL)
                $display['pendaftar'][$i]['diskon'] = 0;

            //jika hasil query sama dengan 0, hitung jumlah diskon dengan cara manual
            if ($display['pendaftar'][$i]['diskon'] == 0) {
                $potongan = $data_kelas['HARGA'] - $display['pendaftar'][$i]['TOTAL_BAYAR'];
                $display['pendaftar'][$i]['diskon'] = round($potongan * 100 / $data_kelas['HARGA']);
            }

            if ($display['pendaftar'][$i]['TOTAL_BAYAR'] - $display['pendaftar'][$i]['sudah_bayar'] <= 0) {
                $display['pendaftar'][$i]['lunas'] = 'V';
                $display['total_sudah_lunas']++;
            } else {
                $display['pendaftar'][$i]['lunas'] = 'X';
            }

            if ($display['pendaftar'][$i]['CONFIRM']) {
                $display['pendaftar'][$i]['cek_confirm'] = 'V';
                $display['total_sudah_confirm']++;
            } else {
                $display['pendaftar'][$i]['cek_confirm'] = 'X';
            }

            //Mengambil data pngambilan kartu dari tabel peserta
            $query_peserta = 'SELECT * FROM peserta WHERE ID=' . $display['pendaftar'][$i]['ID'];
            $data_peserta = $this->db->query($query_peserta)->row_array();
            $status_kartu = $data_peserta['STATUS_AMBIL_KARTU'];
            $display['pendaftar'][$i]['no_kartu'] = $data_peserta['NO_CIC_CARD'];

            if ($status_kartu) {
                $display['pendaftar'][$i]['kartu'] = 'V';
                $display['total_sudah_kartu']++;
            } else {
                $display['pendaftar'][$i]['kartu'] = 'X';
            }

            if ($display['pendaftar'][$i]['DAPAT_KIT']) {
                $display['pendaftar'][$i]['kit'] = 'V';
                $display['total_sudah_kit']++;
            } else {
                $display['pendaftar'][$i]['kit'] = 'X';
            }

            if ($display['pendaftar'][$i]['DAPAT_MODUL']) {
                $display['pendaftar'][$i]['modul'] = 'V';
                $display['total_sudah_modul']++;
            } else {
                $display['pendaftar'][$i]['modul'] = 'X';
            }

            //query kehadiran peserta
            $jum_hadir = $this->db->get_where('absen', array('ID' => $display['pendaftar'][$i]['ID'], 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'STATUS' => 'APPROVED'))->num_rows();

            if ($total_sesi_jalan != 0) {
                $display['pendaftar'][$i]['attendance'] = 100 * ($jum_hadir / $total_sesi_jalan);
                $display['pendaftar'][$i]['absen'] = $total_sesi_jalan - $jum_hadir;
                if ($display['pendaftar'][$i]['attendance'] == 100) {
                    $display['full_attendance']++;
                } else if ($display['pendaftar'][$i]['attendance'] >= 75) {
                    $display['min_attendance']++;
                }
            } else {
                $display['pendaftar'][$i]['attendance'] = '0';
                $display['pendaftar'][$i]['absen'] = '0';
            }

            if ($display['sesi_selesai']) {

                if (($i + 1) < 10) {
                    $str_absen = '0' . ($i + 1);
                } else {
                    $str_absen = ($i + 1);
                }
                if ($display['pendaftar'][$i]['NO_SERTIFIKAT'] == '') {
                    $display['pendaftar'][$i]['no_sert'] = $kode . '-' . $no_sert_part_2 . '-' . $str_angkatan . $str_absen;
                    $this->db->where(array(
                        'ID_USER' => $display['pendaftar'][$i]['ID_USER'],
                        'ANGKATAN' => $display['pendaftar'][$i]['ANGKATAN'],
                        'KODE_PELATIHAN' => $display['pendaftar'][$i]['KODE_PELATIHAN']
                    ));
                    $this->db->update('peserta_kelas', array('NO_SERTIFIKAT' => $display['pendaftar'][$i]['no_sert']));
                } else {
                    $display['pendaftar'][$i]['no_sert'] = $display['pendaftar'][$i]['NO_SERTIFIKAT'];
                }
                if ($display['pendaftar'][$i]['attendance'] > 75) {
                    if ($display['pendaftar'][$i]['DAPAT_SERTIFIKAT']) {
                        $display['pendaftar'][$i]['sertifikat'] = 'V';
                    } else {
                        $display['pendaftar'][$i]['sertifikat'] = 'X';
                    }
                } else {
                    $display['pendaftar'][$i]['sertifikat'] = 'N/A';
                }
            } else {
                $display['pendaftar'][$i]['no_sert'] = '-';
                $display['pendaftar'][$i]['sertifikat'] = '-';
            }
        }
        
        
        //Query untuk uang yang masuk
        $strquery = 'select distinct sum(JUMLAH) as masuk from pembayaran where KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan;
        $display['pemasukan'] = $this->db->query($strquery)->row()->masuk;

        //Query untuk uang yang harusnya masuk
        $strquery = 'select distinct sum(TOTAL_BAYAR) as total from peserta_kelas where KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan;

        $display['total_harus_bayar'] = $this->db->query($strquery)->row()->total;
        $display['piutang'] = $display['total_harus_bayar'] - $display['pemasukan'];

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/pendaftar_view2', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function list_nohp($kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $display['notelp'] = $this->db->query('select NO_TELP from user inner join peserta_kelas on user.ID=peserta_kelas.ID_USER where ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"')->result_array();
        $this->load->view('pendaftaran/list_notelp', $display);
    }

    function rekap_bayar_perkelas($kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;

        $pendaftar = $this->db->query('select * from user inner join peserta_kelas on user.ID=peserta_kelas.ID_USER where ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"')->result_array();

        $display['jumlah_pendaftar'] = count($pendaftar);

        $jumlah_lunas = 0;
        $x = 0;
        foreach ($pendaftar as $p) {
            //mendapatkan diskon si $p
            $data_diskon = $this->db->get_where('get_diskon', array('ID_USER' => $p['ID'], 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->result_array();
            $pendaftar[$x]['get_diskon'] = 0;
            $pendaftar[$x]['list_diskon'] = array();

            $i = 0;
            foreach ($data_diskon as $d) {
                $pendaftar[$x]['get_diskon']+=$d['BESAR_DISKON'];
                $pendaftar[$x]['list_diskon'][$i] = $d['NAMA_DISKON'];
                $i++;
            }

            //mendapatkan data pembayaran si $p
            $this->db->order_by('TGL_BAYAR', 'asc');
            $list_bayar = $this->db->get_where('pembayaran', array('ID' => $p['ID'], 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->result_array();

            $pendaftar[$x]['pembayaran'] = array();
            $i = 0;
            $sudah_bayar = 0;
            foreach ($list_bayar as $l) {
                $pendaftar[$x]['pembayaran'][$i]['JUMLAH'] = $l['JUMLAH'];
                $pendaftar[$x]['pembayaran'][$i]['TGL'] = $this->date_func->date_konversion_format2v2($l['TGL_BAYAR']);
                $pendaftar[$x]['pembayaran'][$i]['NAMA_FO'] = $this->db->get_where('user', array('ID' => $l['ID_FO']))->row()->NAMA;
                $sudah_bayar+=$l['JUMLAH'];
                $i++;
            }

            if ($sudah_bayar == $p['TOTAL_BAYAR']) {
                $pendaftar[$x]['lunas'] = 'Lunas';
                $jumlah_lunas++;
            } else {
                $pendaftar[$x]['lunas'] = 'Belum Lunas';
            }
            $x++;
        }

        $display['persen_lunas'] = 100 * ($jumlah_lunas / $display['jumlah_pendaftar']);

        $display['pendaftar'] = $pendaftar;



        //Query untuk uang yang masuk
        $strquery = 'select distinct sum(JUMLAH) as masuk from pembayaran where KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan;
        $display['pemasukan'] = $this->db->query($strquery)->row()->masuk;

        //Query untuk uang yang harusnya masuk
        $strquery = 'select distinct sum(TOTAL_BAYAR) as total from peserta_kelas where KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan;

        $display['total_harus_bayar'] = $this->db->query($strquery)->row()->total;
        $display['piutang'] = $display['total_harus_bayar'] - $display['pemasukan'];



        $this->load->view('pendaftaran/rekap_bayar_perkelas', $display);
    }

    function cetak_dokumen($kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $jum_sesi = $kelas['JAM_TOTAL'] / $kelas['JAM_PER_SESI'];
        $display['hal'] = ceil($jum_sesi / 6);
        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $this->load->view('pendaftaran/cetak_dokumen', $display);
    }

    function form_pengambilan($jenis, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;

        $display['nama_pelatihan'] = $this->db->get_where('pelatihan', array('KODE_PELATIHAN' => $kode))->row()->NAMA_PELATIHAN;

        $query_data_term = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $display['tahun'] = $query_data_term['TAHUN'];
        $display['term'] = $query_data_term['TERM'];

        $display['logo_term'] = $this->db->get_where('term', array('NO_TERM' => $display['term'], 'TAHUN' => $display['tahun']))->row()->LOGO_TERM;

        $this->db->join('user', 'peserta_kelas.ID_USER=user.ID');
        $this->db->join('peserta', 'peserta.ID=peserta_kelas.ID_USER');
        $display['peserta'] = $this->db->get_where('peserta_kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->result_array();



        switch ($jenis) {
            case 1:
                $display['judul'] = 'Pengambilan Modul';
                break;

            case 2:
                $display['judul'] = 'Pengambilan Kit';
                break;
            case 3:
                $display['judul'] = 'Pengambilan Sertifikat';
                break;
            case 4:
                $display['judul'] = 'Pengambilan CICCard';
                break;
            case 5:
                $display['judul'] = 'Konfirmasi Peserta';
                break;
        }

        $this->load->view('pendaftaran/form_pengambilan', $display);
    }

    function cetak_form_presensi($kode, $angkatan, $hal = 1) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;

        $display['nama_pelatihan'] = $this->db->get_where('pelatihan', array('KODE_PELATIHAN' => $kode))->row()->NAMA_PELATIHAN;

        $query_data_term = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $display['hal'] = $hal;
        $display['tahun'] = $query_data_term['TAHUN'];
        $display['term'] = $query_data_term['TERM'];
        $display['jam_total'] = $query_data_term['JAM_TOTAL'];
        $display['jum_sesi'] = $query_data_term['JAM_TOTAL'] / $query_data_term['JAM_PER_SESI'];
        //Nama instruktur
        $display['ins'] = array();

        $n = 0;
        for ($i = 0; $i < 3; $i++) {
            if ($query_data_term['INS' . ($i + 1)] != '' && $query_data_term['INS' . ($i + 1)] != 0) {
                $display['ins'][$n] = $this->db->get_where('user', array('ID' => $query_data_term['INS' . ($i + 1)]))->row()->NAMA;
                $n++;
            }
        }

        $display['logo_term'] = $this->db->get_where('term', array('NO_TERM' => $display['term'], 'TAHUN' => $display['tahun']))->row()->LOGO_TERM;

        $this->db->join('user', 'peserta_kelas.ID_USER=user.ID');
        $this->db->join('peserta', 'peserta.ID=peserta_kelas.ID_USER');
        $display['peserta'] = $this->db->get_where('peserta_kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->result_array();

        $this->load->view('pendaftaran/form_presensi', $display);
    }

    function cetak_rekap_presensi($kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $query_data_term = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $display['jam_total'] = $query_data_term['JAM_TOTAL'];
        $display['jum_sesi'] = $query_data_term['JAM_TOTAL'] / $query_data_term['JAM_PER_SESI'];

        $display['pendaftar'] = $this->db->query('select * from user inner join peserta_kelas on user.ID=peserta_kelas.ID_USER where ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"')->result_array();

        $display['jum_pendaftar'] = count($display['pendaftar']);


        //query untuk mengetahui data sesi kelas dan sekarang sesi berapa
        $data_kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $total_kelas_sesi = $data_kelas['JAM_TOTAL'] / $data_kelas['JAM_PER_SESI'];
        $query_kelas = $this->db->get_where('daftar_jadwal', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'TANGGAL <=' => date('Y-m-d')));
        $total_sesi_jalan = $query_kelas->num_rows();
        $display['sesi_selesai'] = (($total_kelas_sesi == $total_sesi_jalan) && ($total_sesi_jalan != 0));

        //klo kelas selese, ambil data sesi yg terakhir di array
        if ($display['sesi_selesai']) {
            $all_sesi = $query_kelas->result_array();
            $last_sesi = $all_sesi[count($all_sesi) - 1];
            //echo $last_sesi['TANGGAL'];
            $tgl_last_sesi = str_replace('-', '', $last_sesi['TANGGAL']);
            $month_part = substr($tgl_last_sesi, 4, 2);
            $year_part = substr($tgl_last_sesi, 2, 2);
            $no_sert_part_2 = $month_part . $year_part;

            if ($angkatan < 10) {
                $str_angkatan = '0' . $angkatan;
            } else {
                $str_angkatan = $angkatan;
            }
        }
        $display['num_valid'] = 0;
        $display['persen_hadir'] = 0;
        //looping untuk membuat data-data tiap pendaftar
        for ($i = 0; $i < count($display['pendaftar']); $i++) {

            //Mengambil data pngambilan kartu dari tabel peserta
            $query_peserta = 'SELECT * FROM peserta WHERE ID=' . $display['pendaftar'][$i]['ID'];
            $data_peserta = $this->db->query($query_peserta)->row_array();
            $display['pendaftar'][$i]['no_kartu'] = $data_peserta['NO_CIC_CARD'];

            //query kehadiran peserta
            $jum_hadir = $this->db->get_where('absen', array('ID' => $display['pendaftar'][$i]['ID'], 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'STATUS' => 'APPROVED'))->num_rows();

            if ($total_sesi_jalan != 0) {
                $display['pendaftar'][$i]['attendance'] = 100 * ($jum_hadir / $total_sesi_jalan);
                $display['persen_hadir']+=$display['pendaftar'][$i]['attendance'];
                $display['pendaftar'][$i]['absen'] = $total_sesi_jalan - $jum_hadir;
            } else {
                $display['pendaftar'][$i]['attendance'] = '-';
                $display['pendaftar'][$i]['absen'] = '-';
            }

            if ($display['sesi_selesai']) {

                if (($i + 1) < 10) {
                    $str_absen = '0' . ($i + 1);
                } else {
                    $str_absen = ($i + 1);
                }

                $display['pendaftar'][$i]['no_sert'] = $kode . '-' . $no_sert_part_2 . '-' . $str_angkatan . $str_absen;

                if ($display['pendaftar'][$i]['attendance'] > 75) {
                    $display['pendaftar'][$i]['sertifikat'] = 'Valid';
                    $display['num_valid']++;
                } else {
                    $display['pendaftar'][$i]['sertifikat'] = 'Suspend';
                }
            } else {
                $display['pendaftar'][$i]['no_sert'] = '-';
                $display['pendaftar'][$i]['sertifikat'] = '-';
            }
        }
        $display['persen_hadir'] = $display['persen_hadir'] / $display['jum_pendaftar'];

        $this->load->view('pendaftaran/rekap_presensi', $display);
    }

    function ceklis_pengambilan($kode, $angkatan, $pengambilan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $display['pengambilan'] = $pengambilan;
        $display['nama_pelatihan'] = $this->db->get_where('pelatihan', array('KODE_PELATIHAN' => $kode))->row()->NAMA_PELATIHAN;

        $this->db->join('user', 'user.ID=peserta_kelas.ID_USER');
        $this->db->join('peserta', 'peserta.ID=peserta_kelas.ID_USER');
        $this->db->where(array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan));
        $display['pendaftar'] = $this->db->get('peserta_kelas')->result_array();
        $display['jum_pendaftar'] = count($display['pendaftar']);


        $query_data_term = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $display['jam_total'] = $query_data_term['JAM_TOTAL'];
        $display['jum_sesi'] = $query_data_term['JAM_TOTAL'] / $query_data_term['JAM_PER_SESI'];

        switch ($pengambilan) {
            case 1:
                $display['nama'] = 'Modul';
                $display['kolom1'] = 'DAPAT_MODUL';
                $display['kolom2'] = 'TGL_DAPAT_MODUL';
                $display['kolom3'] = 'ID_FO_MODUL';
                break;
            case 2:
                $display['nama'] = 'Kit';
                $display['kolom1'] = 'DAPAT_KIT';
                $display['kolom2'] = 'TGL_DAPAT_KIT';
                $display['kolom3'] = 'ID_FO_KIT';
                break;
            case 3:
                $display['nama'] = 'Sertifikat';
                $display['kolom1'] = 'DAPAT_SERTIFIKAT';
                $display['kolom2'] = 'TGL_DAPAT_SERTIFIKAT';
                $display['kolom3'] = 'ID_FO_SERTIFIKAT';
                break;
            case 4:
                $display['nama'] = 'CICCard';
                $display['kolom1'] = 'STATUS_AMBIL_KARTU';
                $display['kolom2'] = 'TGL_AMBIL_KARTU';
                $display['kolom3'] = 'ID_FO_AMBIL_KARTU';
                break;
            case 5:
                $display['nama'] = 'Confirm';
                $display['kolom1'] = 'CONFIRM';
                $display['kolom2'] = 'TGL_CONFIRM';
                $display['kolom3'] = 'ID_FO_CONFIRM';
                break;
        }

        if ($pengambilan == 5) {
            $display['judul'] = 'Checklist Konfirmasi Peserta';
        } else {
            $display['judul'] = 'Checklist Pengambilan ' . $display['nama'];
        }

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/checklist_pendaftaran', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function checklist_proses($pengambilan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }


        $id_fo = $this->session->userdata('ID');
        $kode = $this->input->post('kode');
        $angkatan = $this->input->post('angkatan');

        switch ($pengambilan) {
            case 1:
                $kolom1 = 'DAPAT_MODUL';
                $kolom2 = 'TGL_DAPAT_MODUL';
                $kolom3 = 'ID_FO_MODUL';
                break;
            case 2:
                $kolom1 = 'DAPAT_KIT';
                $kolom2 = 'TGL_DAPAT_KIT';
                $kolom3 = 'ID_FO_KIT';
                break;
            case 3:
                $kolom1 = 'DAPAT_SERTIFIKAT';
                $kolom2 = 'TGL_DAPAT_SERTIFIKAT';
                $kolom3 = 'ID_FO_SERTIFIKAT';
                break;
            case 4:
                $kolom1 = 'STATUS_AMBIL_KARTU';
                $kolom2 = 'TGL_AMBIL_KARTU';
                $kolom3 = 'ID_FO_AMBIL_KARTU';
                break;
            case 5:
                $kolom1 = 'CONFIRM';
                $kolom2 = 'TGL_CONFIRM';
                $kolom3 = 'ID_FO_CONFIRM';
                break;
        }

        $id_peserta = $this->input->post('checklist');

        foreach ($id_peserta as $id) {
            $update = array(
                $kolom1 => 1,
                $kolom2 => date('Y-m-d'),
                $kolom3 => $id_fo
            );
            if ($pengambilan != 4) {
                $where = array(
                    'ID_USER' => $id,
                    'KODE_PELATIHAN' => $kode,
                    'ANGKATAN' => $angkatan
                );
                $nama_tabel = 'peserta_kelas';
            } else {
                $where = array('ID' => $id);
                $nama_tabel = 'peserta';
            }
            $this->db->where($where);
            $this->db->update($nama_tabel, $update);
        }
        redirect(base_url() . 'pendaftaran/daftar_con/ceklis_pengambilan/' . $kode . '/' . $angkatan . '/' . $pengambilan);
    }

    function list_attendance($kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $display['nama_pelatihan'] = $this->db->get_where('pelatihan', array('KODE_PELATIHAN' => $kode))->row()->NAMA_PELATIHAN;

        $this->db->join('user', 'user.ID=peserta_kelas.ID_USER');
        $this->db->join('peserta', 'peserta.ID=peserta_kelas.ID_USER');
        $this->db->where(array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan));
        $display['pendaftar'] = $this->db->get('peserta_kelas')->result_array();
        $display['jum_pendaftar'] = count($display['pendaftar']);

        //query untuk mengetahui data sesi kelas dan sekarang sesi berapa
        $data_kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $display['total_kelas_sesi'] = $data_kelas['JAM_TOTAL'] / $data_kelas['JAM_PER_SESI'];

        $query_kelas = $this->db->get_where('daftar_jadwal', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'TANGGAL <=' => date('Y-m-d')));
        $display['total_sesi_jalan'] = $query_kelas->num_rows();
        $display['sesi_selesai'] = (($display['total_kelas_sesi'] == $display['total_sesi_jalan']) && ($display['total_sesi_jalan'] != 0));

        //looping untuk membuat data-data tiap pendaftar
        for ($i = 0; $i < count($display['pendaftar']); $i++) {

            //Mengambil data pngambilan kartu dari tabel peserta
            $query_peserta = 'SELECT * FROM peserta WHERE ID=' . $display['pendaftar'][$i]['ID'];
            $data_peserta = $this->db->query($query_peserta)->row_array();
            $display['pendaftar'][$i]['no_kartu'] = $data_peserta['NO_CIC_CARD'];

            //query kehadiran peserta
            $this->db->order_by('NOMOR_SESI', 'asc');
            $kehadiran = $this->db->get_where('absen', array('ID' => $display['pendaftar'][$i]['ID'], 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'STATUS' => 'APPROVED'));
            $jum_hadir = $kehadiran->num_rows();
            $kehadiran = $kehadiran->result_array();


            if ($display['total_sesi_jalan'] != 0) {
                for ($j = 0; $j < $display['total_kelas_sesi']; $j++) {
                    $display['pendaftar'][$i]['hadir'][$j + 1] = '-';
                }

                foreach ($kehadiran as $h) {
                    $display['pendaftar'][$i]['hadir'][$h['NOMOR_SESI']] = 'O';
                }

                for ($j = 1; $j <= $display['total_sesi_jalan']; $j++) {
                    if ($display['pendaftar'][$i]['hadir'][$j] == '-') {
                        $display['pendaftar'][$i]['hadir'][$j] = 'X';
                    }
                }
            } else {
                for ($j = 0; $j < $display['total_kelas_sesi']; $j++) {
                    $display['pendaftar'][$i]['hadir'][$j + 1] = '-';
                }
            }
            if ($display['total_sesi_jalan'] != 0) {
                $display['pendaftar'][$i]['attendance'] = 100 * ($jum_hadir / $display['total_sesi_jalan']);
            } else {
                $display['pendaftar'][$i]['attendance'] = '0';
            }
        }
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/attendance', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function absen_manual($kode, $angkatan, $sesi) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $display['sesi'] = $sesi;
        $display['nama_pelatihan'] = $this->db->get_where('pelatihan', array('KODE_PELATIHAN' => $kode))->row()->NAMA_PELATIHAN;

        $this->db->join('user', 'user.ID=peserta_kelas.ID_USER');
        $this->db->join('peserta', 'peserta.ID=peserta_kelas.ID_USER');
        $this->db->where(array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan));
        $display['pendaftar'] = $this->db->get('peserta_kelas')->result_array();
        $display['jum_pendaftar'] = count($display['pendaftar']);

        //query untuk mengetahui data sesi kelas dan sekarang sesi berapa
        $data_kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $display['total_kelas_sesi'] = $data_kelas['JAM_TOTAL'] / $data_kelas['JAM_PER_SESI'];

        $query_kelas = $this->db->get_where('daftar_jadwal', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'TANGGAL <=' => date('Y-m-d')));
        $display['total_sesi_jalan'] = $query_kelas->num_rows();
        $display['sesi_selesai'] = (($display['total_kelas_sesi'] == $display['total_sesi_jalan']) && ($display['total_sesi_jalan'] != 0));

        $this->db->join('user', 'user.ID=peserta_kelas.ID_USER');
        $this->db->join('peserta', 'peserta.ID=peserta_kelas.ID_USER');
        $this->db->where(array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan));
        $display['pendaftar'] = $this->db->get('peserta_kelas')->result_array();
        $display['jum_pendaftar'] = count($display['pendaftar']);

        $display['tdk_hadir'] = 0;

        for ($i = 0; $i < $display['jum_pendaftar']; $i++) {
            $kehadiran = $this->db->get_where('absen', array('ID' => $display['pendaftar'][$i]['ID'], 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'NOMOR_SESI' => $sesi, 'STATUS' => 'APPROVED'));
            if ($kehadiran->num_rows() == 0) {
                $display['pendaftar'][$i]['HADIR'] = FALSE;
                $display['tdk_hadir']++;
            } else {
                $display['pendaftar'][$i]['HADIR'] = TRUE;
            }
        }


        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/absen_manual', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function absen_manual_proses() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $kode = $this->input->post('kode');
        $angkatan = $this->input->post('angkatan');
        $sesi = $this->input->post('sesi');
        $absen = $this->input->post('absen');

        foreach ($absen as $id) {
            $data = array(
                'ID' => $id,
                'KODE_PELATIHAN' => $kode,
                'ANGKATAN' => $angkatan,
                'NOMOR_SESI' => $sesi,
                'STATUS' => 'APPROVED'
            );
            $this->db->insert('absen', $data);
        }
        redirect(base_url() . 'pendaftaran/daftar_con/list_attendance/' . $kode . '/' . $angkatan);
    }

    function daftar() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/pilih_daftar_view');
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function cari() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/cari1_view');
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function cari_by($jenis) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        $data['judul'] = $jenis;
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/cari2_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function cari_res() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $jenis = $this->input->post('jenis');
        $key = $this->input->post('keyword');

        if ($jenis == 'name') {
            $this->db->like('NAMA', $key);
            $query = $this->db->get('user')->result_array();
            if (count($query) > 0) {
                for ($i = 0; $i < count($query); $i++) {
                    if ($query[$i]['NO_TELP'] == '') {
                        $query[$i]['NO_TELP'] = '[Tidak ada no telp]';
                    }
                    $query[$i]['NO_CIC_CARD'] = $this->db->get_where('peserta', array('ID' => $query[$i]['ID']))->row()->NO_CIC_CARD;
                }
            }
        } else if ($jenis == 'phone') {
            $this->db->like('NO_TELP', $key);
            $query = $this->db->get('user')->result_array();
            if (count($query) > 0) {
                for ($i = 0; $i < count($query); $i++) {
                    $query[$i]['NO_CIC_CARD'] = $this->db->get_where('peserta', array('ID' => $query[$i]['ID']))->row()->NO_CIC_CARD;
                }
            }
        } else if ($jenis == 'CICCard') {
            $this->db->where('NO_CIC_CARD', $key);
            $query = $this->db->get('peserta')->result_array();
            if (count($query) > 0) {
                for ($i = 0; $i < count($query); $i++) {
                    $user = $this->db->get_where('user', array('ID' => $query[$i]['ID']))->row();
                    $query[$i]['NAMA'] = $user->NAMA;
                    $query[$i]['NO_TELP'] = $user->NO_TELP;
                    if ($query[$i]['NO_TELP'] == '') {
                        $query[$i]['NO_TELP'] = '[Tidak ada no telp]';
                    }
                }
            }
        }
        $data['query'] = $query;
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/cari3_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function daftar_new() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



        $query = $this->db->get_where('kelas', array('STATUS' => 'BELUM'));
        $display['pelatihan'][-1] = '--- Pilih Kelas ---';
        foreach ($query->result() as $entry) {
            $kode = $entry->KODE_PELATIHAN . '-' . $entry->ANGKATAN;
            //echo $kode;
            $display['pelatihan'][$kode] = $kode;
        }

        $query = $this->db->get('diskon');
        $i = 0;
        foreach ($query->result() as $entry) {
            $display['diskon'][$i]['no'] = $entry->ID_DISKON;
            $display['diskon'][$i]['nama'] = $entry->NAMA_DISKON;
            $i++;
        }
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/form_new_view', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function check_exist() {
        $nama = $this->input->post('cari_nama');
        $nohp = $this->input->post('cari_nohp');
        
        //cek no hp ada kaga
        $str="SELECT * FROM  user WHERE  NO_TELP LIKE ".$nohp;
        $hasil_hp = $this->db->query($str);
        if($hasil_hp->num_rows()>0){
            $data['respon']['cond']=TRUE;
        }else{
            $data['respon']['cond']=FALSE;
        }
        echo json_encode($data);
    }

    function check_no_cic() {
        $data['no_cic'] = $this->input->post('no_cic');
        $query = $this->db->get_where('peserta', array(
            'NO_CIC_CARD' => $data['no_cic'],
            'STATUS_CIC_CARD' => 1
                ));
        $num_rows = $query->num_rows();


        if ($query->num_rows() == 1) {
            $data['respon'] = TRUE;
        } else {
            $data['respon'] = FALSE;
        }
        echo json_encode($data);
    }

    function get_nama_diskon(){
        $str_json = $this->input->post('str');
        if($str_json!='[]'){
            $str_json=str_replace('[', '(', $str_json);
            $str_json=str_replace(']', ')', $str_json);
            $str_json=str_replace(']', ')', $str_json);
            $str_json=str_replace('"', '', $str_json);
            $this->db->where('ID_DISKON in ',$str_json,false);
            $q = $this->db->get('diskon');
            if($q->num_rows()>0){
                $array = $q->result_array();
                $retval='';
                foreach($array as $a){
                    $retval.=$a['NAMA_DISKON'].'<br/>';
                }
                echo $retval;
            }else{
                echo 'Tidak ada diskon';
            }
        }else{
            echo 'Tidak ada diskon';
        }
    }
    
    function daftar_new_proses() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



        $nama = $this->input->post('nama');
        $nama = rtrim($nama); //menghapus spasi pada akhir kata
        $nohp = $this->input->post('nohp');
        $gol = $this->input->post('gol');
        $kelas = $this->input->post('kelas');
        $username = str_ireplace(' ', '.', strtolower($nama));
        $password = md5($username);

        //mengecek apakah username sudah ada
        $isvalid = $this->db->get_where('user', array('USERNAME' => $username))->result_array();
        if (count($isvalid) > 0) {
            //username fail, dibelakang username ditambah angka
            $angka = count($isvalid) + 1;
            $username = $username . $angka;
        }

        //insert data peserta
        $data = array(
            'NAMA' => $nama,
            'NO_TELP' => $nohp,
            'USERNAME' => $username,
            'PASSWORD' => $password,
            'GOL' => $gol
        );

        $this->db->insert('user', $data);

        //mengambil ID user yang baru dimasukkan
        $strquery = "select ID from user where USERNAME='" . $username . "'";
        $id = $this->db->query($strquery)->row()->ID;
        $id_role = $this->db->get_where('daftar_role', array('NAMA_ROLE' => 'Peserta'))->row()->ID_ROLE;

        // insert role sebagai peserta
        $inrole = array('ID' => $id, 'ID_ROLE' => $id_role);
        $this->db->insert('role', $inrole);

        // inisiasi diskon awal = 0%
        $besar_diskon = 0;
        $no = $this->input->post('nocic');

        if ($no != '') {                      // mengecek diskon dari kartu CIC milik orang, pake javascript sudah dijamin klo no cic tsb valid
            $data_ciccard = $this->db->get_where('peserta', array('NO_CIC_CARD' => $no))->row_array();

            $besar_diskon = 20;
            $update = array('STATUS_CIC_CARD' => 0);
            $this->db->where('NO_CIC_CARD', $no);
            $this->db->update('peserta', $update);

            //Insert ke database dapetin diskon CICcard punya orang
            $pelatihan = explode('-', $kelas);
            $kode = $pelatihan[0];
            $angkatan = $pelatihan[1];
            $data_diskon = array(
                'ID_USER' => $id,
                'NAMA_DISKON' => 'Diskon CICCard orang',
                'BESAR_DISKON' => $besar_diskon,
                'ANGKATAN' => $angkatan,
                'KODE_PELATIHAN' => $kode
            );
            $this->db->insert('get_diskon', $data_diskon);

            //insert ke tabel diskon cic card
            $ciccard_diskon = array(
                'NO_CIC_CARD' => $no,
                'ID_PENGGUNA_KARTU' => $id,
                'KODE_PELATIHAN' => $kode,
                'ANGKATAN' => $angkatan,
                'KETERANGAN' => 'kartu orang lain'
            );
            $this->db->insert('diskon_cic_card', $ciccard_diskon);
        } else {                            //ngecek diskon yg bukan diskon cic card
            $diskon = $this->input->post('diskon');
            if (!empty($diskon)) {
                for ($i = 0; $i < count($diskon); $i++) {
                    $hasil = $this->db->get_where('diskon', array('ID_DISKON' => $diskon[$i]))->row();
                    if (strcasecmp($hasil->NAMA_DISKON, 'diskon golongan') == 0) {
                        // Mendapat diskon golongan
                        switch ($gol) {
                            case 1:
                                $get_diskon = 15;
                                $besar_diskon+=15;
                                break;
                            case 2:
                                $get_diskon = 15;
                                $besar_diskon+=15;
                                break;
                            case 3:
                                $get_diskon = 10;
                                $besar_diskon+=10;
                                break;
                            case 4:
                                $get_diskon = 0;
                                $besar_diskon+=0;
                                break;
                            case 5:
                                $get_diskon = 100;
                                $besar_diskon+=100;
                                break;
                            case 6:
                                $get_diskon = 100;
                                $besar_diskon+=100;
                                break;
                        }
                    } else {
                        // Mendapat diskon yang didefinisiin di database
                        $besar_diskon+=$hasil->BESAR;
                        $get_diskon = $hasil->BESAR;
                    }

                    // Insert data diskon ke database
                    $pelatihan = explode('-', $kelas);
                    $kode = $pelatihan[0];
                    $angkatan = $pelatihan[1];
                    $data_diskon = array(
                        'ID_USER' => $id,
                        'NAMA_DISKON' => $hasil->NAMA_DISKON,
                        'BESAR_DISKON' => $get_diskon,
                        'ANGKATAN' => $angkatan,
                        'KODE_PELATIHAN' => $kode
                    );
                    $this->db->insert('get_diskon', $data_diskon);
                }
            }
        }
        $pelatihan = explode('-', $kelas);
        $kode = $pelatihan[0];
        $angkatan = $pelatihan[1];
        $result = $this->db->get_where('kelas', array(
                    'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row();
        $harga = $result->HARGA;
        if ($besar_diskon > 100)
            $besar_diskon = 100;

        $temp = (100 - $besar_diskon) / 100 * $harga;
        $total_bayar = $this->division2($temp, 1000);
        $data = array(
            'ID_USER' => $id,
            'ANGKATAN' => $angkatan,
            'KODE_PELATIHAN' => $kode,
            'TOTAL_BAYAR' => $total_bayar,
            'TGL_DAFTAR' => date('Y-m-d'),
            'ID_TERM' => $this->session->userdata('idterm'),
            'ID_FO' => $this->session->userdata('ID')
        );
        $this->db->insert('peserta_kelas', $data);

        // menggenerate no cic card
        $nourut = $this->cari_urut();
        $gen_nocic = $this->convert_no($nourut) . '-' . $this->cut_year($this->session->userdata('tahun')) . $gol;

        $data = array('NO_CIC_CARD' => $gen_nocic, 'ID' => $id, 'STATUS_CIC_CARD' => 'FALSE');
        $this->db->insert('peserta ', $data);
        redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kode . '/' . $angkatan);
    }

    function cari_urut() {
        $query = $this->db->query('SELECT MAX(NO_CIC_CARD) as find FROM peserta');
        $result = $query->row_array();
        $str_arr = explode('-', $result['find']);

        return (intval($str_arr[0]) + 1);
    }

    function display_biaya($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



        $user = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['id'] = $id;
        $data['nama'] = $user['NAMA'];
        $data['nohp'] = $user['NO_TELP'];
        $peserta = $this->db->get_where('peserta', array('ID' => $id))->row_array();
        $data['no_cic'] = $peserta['NO_CIC_CARD'];



        $peserta_kelas = $this->db->get_where('peserta_kelas', array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();

        $data['bayar'] = $peserta_kelas['TOTAL_BAYAR'];

        $pelatihan = $peserta_kelas['KODE_PELATIHAN'];
        $angkatan = $peserta_kelas['ANGKATAN'];
        $data['pelatihan'] = $pelatihan;
        $data['angkatan'] = $angkatan;
        $data['kelas'] = $pelatihan . '-' . $angkatan;
        $data['keterangan'] = $peserta_kelas['KETERANGAN'];

        $kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $pelatihan, 'ANGKATAN' => $angkatan))->row_array();
        $data['biaya'] = $kelas['HARGA'];

        $result = $this->db->query('select sum(JUMLAH) as total from pembayaran where ID=' . $id . ' and KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan)->row();
        $data['sudah_bayar'] = $result->total;

        //query jumlah diskon yang didapatkan
        $all_disc = $this->db->query('select sum(BESAR_DISKON) as total_diskon from get_diskon where ID_USER=' . $id . ' and KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan)->row();

        $data['diskon'] = $all_disc->total_diskon;
        if ($data['diskon'] == NULL)
            $data['diskon'] = 0;


        //jika hasil query sama dengan 0, hitung jumlah diskon dengan cara manual
        if ($data['diskon'] == 0) {
            $potongan = $data['biaya'] - $data['bayar'];
            $data['diskon'] = round($potongan * 100 / $data['biaya']);
        }

        //cek apakah kelas udah selesai?
        $data_kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $jum_sesi = $data_kelas['JAM_TOTAL'] / $data_kelas['JAM_PER_SESI'];
        $this->db->order_by('NOMOR_SESI', 'DESC');

        $sesi = $this->db->get_where('daftar_jadwal', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan, 'TANGGAL <=' => date('Y-m-d')));

        if ($sesi->num_rows() > 0) {
            $sesi_terakhir = $sesi->row()->NOMOR_SESI;
        } else {
            $sesi_terakhir = 0;
        }

        $data['selesai'] = ($sesi_terakhir == $jum_sesi);

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/biaya_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function suspend_user($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        $data['user'] = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['kode'] = $kode;
        $data['angkatan'] = $angkatan;

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/suspend_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function suspend_process() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $id = $this->input->post('id');
        $kode = $this->input->post('kode');
        $angkatan = $this->input->post('angkatan');

        $clause_peserta = array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan);
        $clause_peserta2 = array('ID' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan);
        $clause_peserta3 = array('ID_PENGGUNA_KARTU' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan);
        //pindahin data dari tabel peserta kelas ke suspend peserta
        $data_peserta = $this->db->get_where('peserta_kelas', $clause_peserta)->row_array();
        $data_suspend_peserta = array(
            'ID_USER' => $data_peserta['ID_USER'],
            'ANGKATAN' => $data_peserta['ANGKATAN'],
            'KODE_PELATIHAN' => $data_peserta['KODE_PELATIHAN'],
            'TOTAL_BAYAR' => $data_peserta['TOTAL_BAYAR'],
            'TGL_DAFTAR' => $data_peserta['TGL_DAFTAR'],
            'ID_TERM' => $data_peserta['ID_TERM'],
            'ID_FO' => $data_peserta['ID_FO'],
            'TGL_SUSPEND' => date('Y-m-d')
        );
        $this->db->insert('suspend_peserta_kelas', $data_suspend_peserta);

        //pindahin data dari tabel get diskon
        $data_diskon = $this->db->get_where('get_diskon', $clause_peserta)->result_array();
        foreach ($data_diskon as $d) {
            $data_suspend_diskon = array(
                'ID_USER' => $d['ID_USER'],
                'ANGKATAN' => $d['ANGKATAN'],
                'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                'ID_DISKON' => $d['ID_DISKON'],
                'NAMA_DISKON' => $d['NAMA_DISKON'],
                'BESAR_DISKON' => $d['BESAR_DISKON']
            );
            $this->db->insert('suspend_diskon', $data_suspend_diskon);
        }
        //pindahin data dari tabel pembayaran
        $data_pembayaran = $this->db->get_where('pembayaran', $clause_peserta2)->result_array();
        foreach ($data_pembayaran as $d) {
            $data_suspend_pembayaran = array(
                'ID' => $d['ID'],
                'ANGKATAN' => $d['ANGKATAN'],
                'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                'TGL_BAYAR' => $d['TGL_BAYAR'],
                'JUMLAH' => $d['JUMLAH'],
                'ID_FO' => $d['ID_FO']
            );
            $this->db->insert('suspend_pembayaran', $data_suspend_pembayaran);
        }
        //pindahin data dari tabel diskon cic card
        $data_diskon_cic = $this->db->get_where('diskon_cic_card', $clause_peserta3)->result_array();
        foreach ($data_diskon_cic as $c) {
            $data_suspend_cic = array(
                'ID_PENGGUNA_KARTU' => $c['ID_PENGGUNA_KARTU'],
                'ANGKATAN' => $c['ANGKATAN'],
                'KODE_PELATIHAN' => $c['KODE_PELATIHAN'],
                'NO_CIC_CARD' => $c['NO_CIC_CARD'],
                'KETERANGAN' => $c['KETERANGAN']
            );
            $this->db->insert('suspend_diskon_cic_card', $data_suspend_cic);
        }

        //delete data dari tabel yg lama
        $this->db->where($clause_peserta);
        $this->db->delete('peserta_kelas');

        $this->db->where($clause_peserta);
        $this->db->delete('get_diskon');

        $this->db->where($clause_peserta2);
        $this->db->delete('pembayaran');

        $this->db->where($clause_peserta3);
        $this->db->delete('diskon_cic_card');

        redirect(base_url() . 'pendaftaran/daftar_con/suspend_list');
    }

    function suspend_list($page = 1) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');

        $per_page = 10;
        $offset = ($page - 1) * $per_page;

        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        //query nama yg di suspen, diurut berdasarkan tgl suspend
        $this->db->join('user', 'user.ID=suspend_peserta_kelas.ID_USER');
        $this->db->order_by('TGL_SUSPEND', 'desc');
        $data['suspend'] = $this->db->get('suspend_peserta_kelas', $per_page, $offset)->result_array();

        //menghitung uang yg sudah dibayarkan oleh masing2 peserta
        for ($i = 0; $i < count($data['suspend']); $i++) {
            //sum pembayaran
            $clause = array(
                'ID' => $data['suspend'][$i]['ID_USER'],
                'KODE_PELATIHAN' => $data['suspend'][$i]['KODE_PELATIHAN'],
                'ANGKATAN' => $data['suspend'][$i]['ANGKATAN']
            );
            $this->db->where($clause);
            $this->db->select_sum('JUMLAH');
            $data['suspend'][$i]['bayar'] = $this->db->get('suspend_pembayaran')->row()->JUMLAH;
        }

        $this->db->join('user', 'user.ID=suspend_peserta_kelas.ID_USER');
        $this->db->order_by('TGL_SUSPEND', 'desc');
        $data['num_suspend'] = $this->db->count_all_results('suspend_peserta_kelas');
        $data['cur_page'] = $page;
        $data['num_page'] = ceil($data['num_suspend'] / $per_page);
        $data['offset']=$offset+1;
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/list_suspend', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function delete_user_list($page = 1) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');

        $per_page = 10;
        $offset = ($page - 1) * $per_page;

        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        //query nama yg di suspen, diurut berdasarkan tgl suspend
        $this->db->join('user', 'user.ID=deleted_user.ID_USER');
        $this->db->order_by('TGL', 'desc');
        $data['deleted'] = $this->db->get('deleted_user', $per_page, $offset)->result_array();

        $this->db->join('user', 'user.ID=deleted_user.ID_USER');
        $this->db->order_by('TGL', 'desc');
        $data['num_deleted'] = $this->db->count_all_results('deleted_user');
        $data['cur_page'] = $page;
        $data['num_page'] = ceil($data['num_deleted'] / $per_page);
        $data['offset']=$offset+1;
        
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/list_deleted', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function delete_user($id, $kode, $angkatan, $suspend = 0) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $this->load->library('date_func');
        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        $data['id'] = $id;
        $data['kode'] = $kode;
        $data['angkatan'] = $angkatan;
        $data['nama'] = $this->db->get_where('user', array('ID' => $id))->row()->NAMA;
        $data['suspend'] = $suspend;

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/delete_user', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function delete_process($suspend) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $id = $this->input->post('id');
        $kode = $this->input->post('kode');
        $angkatan = $this->input->post('angkatan');
        $biaya = $this->input->post('biaya');

        //hitung uang yg udah dibayar
        $this->db->select_sum('JUMLAH');
        if (!$suspend) {
            $sudah_bayar = $this->db->get_where('pembayaran', array('ID' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row()->JUMLAH;
        } else {
            $sudah_bayar = $this->db->get_where('suspend_pembayaran', array('ID' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row()->JUMLAH;
        }

        $pengembalian = $sudah_bayar - $biaya;

        //hapus dari peserta kelas/suspend
        $clause = array('ID_USER' => $id, 'ANGKATAN' => $angkatan, 'KODE_PELATIHAN' => $kode);
        $this->db->where($clause);
        if (!$suspend) {
            $this->db->delete('peserta_kelas');
        } else {
            $this->db->delete('suspend_peserta_kelas');
        }

        //hapus dari get diskon/suspend
        $this->db->where($clause);
        if (!$suspend) {
            $this->db->delete('get_diskon');
        } else {
            $this->db->delete('suspend_diskon');
        }

        $clause = array('ID' => $id, 'ANGKATAN' => $angkatan, 'KODE_PELATIHAN' => $kode);

        //hapus dari diskon cic card/suspend
        $this->db->where($clause);
        if (!$suspend) {
            $this->db->delete('diskon_cic_card');
        } else {
            $this->db->delete('suspend_diskon_cic_card');
        }

        //hapus dari pembayaran/suspend
        $this->db->where($clause);
        if (!$suspend) {
            $this->db->delete('pembayaran');
        } else {
            $this->db->delete('suspend_pembayaran');
        }

        $kls = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $id_term = $this->db->get_where('term', array('NO_TERM' => $kls['TERM'], 'TAHUN' => $kls['TAHUN']))->row()->ID_TERM;

        $data = array(
            'ID_USER' => $id,
            'KODE_PELATIHAN' => $kode,
            'ANGKATAN' => $angkatan,
            'ID_TERM' => $id_term,
            'ID_FO' => $this->session->userdata('ID'),
            'TGL' => date('Y-m-d H:i:s'),
            'BIAYA_ADM' => $biaya,
            'PENGEMBALIAN' => $pengembalian
        );
        $this->db->insert('deleted_user', $data);
        redirect(base_url() . 'pendaftaran/daftar_con/delete_biaya/' . $id . '/' . $kode . '/' . $angkatan);
    }

    function delete_biaya($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        $data['delete'] = $this->db->get_where('deleted_user', array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $this->db->join('peserta', 'user.ID=peserta.ID');
        $data['user'] = $this->db->get_where('user', array('user.ID' => $id))->row_array();
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/biaya_delete', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function cetak_delete($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $this->load->library('date_func');
        $data['delete'] = $this->db->get_where('deleted_user', array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();
        $this->db->join('peserta', 'user.ID=peserta.ID');
        $data['user'] = $this->db->get_where('user', array('user.ID' => $id))->row_array();
        $data['nama_pelatihan'] = $this->db->get_where('pelatihan', array('KODE_PELATIHAN' => $data['delete']['KODE_PELATIHAN']))->row()->NAMA_PELATIHAN;
        $data['nama_fo'] = $this->db->get_where('user', array('ID' => $data['delete']['ID_FO']))->row()->NAMA;
        $this->load->view('pendaftaran/struk_delete', $data);
    }

    function profil_peserta($id_peserta) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $this->load->library('date_func');
        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $user = $this->db->get_where('user', array('ID' => $id_peserta));
        if ($user->num_rows() == 1) {
            $data['user'] = $user->row_array();
            $data['peserta'] = $this->db->get_where('peserta', array('ID' => $id_peserta))->row_array();
            $this->db->join('pelatihan', 'pelatihan.KODE_PELATIHAN=peserta_kelas.KODE_PELATIHAN');
            $data['history_kelas'] = $this->db->get_where('peserta_kelas', array('ID_USER' => $id_peserta))->result_array();
            $term = $this->db->get('term')->result_array();
            $data['term'] = array();
            foreach ($term as $t) {
                $data['term'][$t['ID_TERM']] = 'Term-' . $t['NO_TERM'] . ' ' . $t['TAHUN'];
            }
            $this->load->view('pendaftaran/daftar_header_view');
            $this->load->view('pendaftaran/menu_atas', $display_atas);
            $this->load->view('pendaftaran/profil_view', $data);
            $this->load->view('pendaftaran/daftar_footer_view');
        } else {
            echo 'Data peserta tidak ditemukan';
        }
    }

    function pil_move($id, $kelas, $angkatan, $suspend = 0) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');

        $data['id'] = $id;
        $data['kelas'] = $kelas;
        $data['angkatan'] = $angkatan;
        $data['user'] = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['suspend'] = $suspend;
        if (!$suspend) {
            //query kelas di course yang sama
            $clause = array(
                'KODE_PELATIHAN' => $kelas,
                'TERM' => $this->session->userdata('term'),
                'TAHUN' => $this->session->userdata('tahun'),
                'ANGKATAN !=' => $angkatan
            );
        } else {
            //query kelas di course yang sama
            $clause = array(
                'KODE_PELATIHAN' => $kelas,
                'TERM' => $this->session->userdata('term'),
                'TAHUN' => $this->session->userdata('tahun')
            );
        }
        $this->db->where($clause);
        $query = $this->db->get('kelas');
        if ($query->num_rows() == 0) {
            $data['can_move'] = FALSE;
        } else {
            $data['can_move'] = TRUE;
        }
        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/pil_move_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function move_same($id, $kelas, $angkatan, $suspend = 0) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $data['id'] = $id;
        $data['kelas'] = $kelas;
        $data['angkatan'] = $angkatan;
        $data['user'] = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['suspend'] = $suspend;
        if (!$suspend) {
            $clause = array(
                'KODE_PELATIHAN' => $kelas,
                'ANGKATAN !=' => $angkatan,
                'STATUS' => 'BELUM'
            );
        } else {
            $clause = array(
                'KODE_PELATIHAN' => $kelas,
                'STATUS' => 'BELUM'
            );
        }
        $this->db->where($clause);
        $query = $this->db->get('kelas')->result_array();
        $data['pil_kelas'][-1] = '--- Pilih Kelas ---';
        foreach ($query as $kelas) {
            $data['pil_kelas'][$kelas['KODE_PELATIHAN'] . '-' . $kelas['ANGKATAN']] = $kelas['KODE_PELATIHAN'] . '-' . $kelas['ANGKATAN'];
        }

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/move_same', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function move_same_process($suspend = 0) {


        $id = $this->input->post('id');
        $kelas_lama = $this->input->post('kelas_lama');
        $angkatan_lama = $this->input->post('angkatan_lama');
        $pil_kelas = $this->input->post('pil_kelas');
        $pil_kelas = explode('-', $pil_kelas);

        $kelas_baru = $pil_kelas[0];
        $angkatan_baru = $pil_kelas[1];

        $biaya_kelas_lama = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kelas_lama, 'ANGKATAN' => $angkatan_lama))->row()->HARGA;
        $biaya_kelas_baru = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru))->row()->HARGA;

        $info_kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru))->row_array();
        $biaya_kelas = $info_kelas['HARGA'];
        $term_kelas = $info_kelas['TERM'];
        $tahun_kelas = $info_kelas['TAHUN'];
        $id_term = $this->db->get_where('term', array('NO_TERM' => $term_kelas, 'TAHUN' => $tahun_kelas))->row()->ID_TERM;

        $clause = array(
            'ID_USER' => $id,
            'ANGKATAN' => $angkatan_lama,
            'KODE_PELATIHAN' => $kelas_lama
        );

        $clause2 = array(
            'ID' => $id,
            'ANGKATAN' => $angkatan_lama,
            'KODE_PELATIHAN' => $kelas_lama
        );

        if ($biaya_kelas_lama < $biaya_kelas_baru) {
            //update tabel peserta kelas, ditambah bagian keterangan aja, tapi total bayar tetep
            $update = array(
                'ANGKATAN' => $angkatan_baru,
                'KODE_PELATIHAN' => $kelas_baru,
                'ID_TERM' => $id_term,
                'KETERANGAN' => 'Biaya pelatihan menggunakan harga kelas sebelum pindah, yaitu kelas ' . $kelas_lama . '-' . $angkatan_lama . ' sebesar Rp ' . number_format($biaya_kelas_lama, 0, ',', '.')
            );
            $this->db->where($clause);

            if (!$suspend) {
                $this->db->update('peserta_kelas', $update);
            } else {
                $this->db->update('suspend_peserta_kelas', $update);
            }
        } else if ($biaya_kelas_lama > $biaya_kelas_baru) {
            // update total bayar, itung diskon yg didapet dulu
            //query jumlah diskon yang didapatkan
            $all_disc = $this->db->query('select sum(BESAR_DISKON) as total_diskon from get_diskon where ID_USER=' . $id . ' and KODE_PELATIHAN="' . $kelas_lama . '" and ANGKATAN=' . $angkatan_lama)->row();

            $get_diskon = $all_disc->total_diskon;

            $update = array(
                'ANGKATAN' => $angkatan_baru,
                'KODE_PELATIHAN' => $kelas_baru,
                'ID_TERM' => $id_term,
                'TOTAL_BAYAR' => ((100 - $get_diskon) / 100 * $biaya_kelas_baru),
                'KETERANGAN' => NULL
            );
            $this->db->where($clause);
            if (!$suspend) {
                $this->db->update('peserta_kelas', $update);
            } else {
                $this->db->update('suspend_peserta_kelas', $update);
            }
        } else {
            $update = array(
                'ANGKATAN' => $angkatan_baru,
                'KODE_PELATIHAN' => $kelas_baru,
                'ID_TERM' => $id_term,
                'KETERANGAN' => NULL
            );
            $this->db->where($clause);
            if (!$suspend) {
                $this->db->update('peserta_kelas', $update);
            } else {
                $this->db->update('suspend_peserta_kelas', $update);
            }
        }

        //update tabel pembayaran
        $update_pembayaran = array(
            'ANGKATAN' => $angkatan_baru,
            'KODE_PELATIHAN' => $kelas_baru
        );
        $this->db->where($clause2);
        if (!$suspend) {
            $this->db->update('pembayaran', $update_pembayaran);
        } else {
            $this->db->update('suspend_pembayaran', $update_pembayaran);
        }
        //update tabel get_diskon
        $update_get_diskon = array(
            'ANGKATAN' => $angkatan_baru,
            'KODE_PELATIHAN' => $kelas_baru
        );
        $this->db->where($clause);
        if (!$suspend) {
            $this->db->update('get_diskon', $update_get_diskon);
        } else {
            $this->db->update('suspend_diskon', $update_get_diskon);
        }
        //update tabel diskon cic card
        $clause_cic_card = array(
            'ID_PENGGUNA_KARTU' => $id,
            'KODE_PELATIHAN' => $kelas_baru,
            'ANGKATAN' => $angkatan_baru
        );
        $this->db->where($clause_cic_card);
        if (!$suspend) {
            $this->db->update('diskon_cic_card', $update_get_diskon);
        } else {
            $this->db->update('suspend_diskon_cic_card', $update_get_diskon);
        }

        //jika suspend, balikin ke tabel aslinya
        if ($suspend) {
            $clause_peserta = array('ID_USER' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
            $clause_peserta2 = array('ID' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
            $clause_peserta3 = array('ID_PENGGUNA_KARTU' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
            //pindahin data dari tabel peserta kelas ke suspend peserta
            $data_peserta = $this->db->get_where('suspend_peserta_kelas', $clause_peserta)->row_array();
            $data_suspend_peserta = array(
                'ID_USER' => $data_peserta['ID_USER'],
                'ANGKATAN' => $data_peserta['ANGKATAN'],
                'KODE_PELATIHAN' => $data_peserta['KODE_PELATIHAN'],
                'TOTAL_BAYAR' => $data_peserta['TOTAL_BAYAR'],
                'TGL_DAFTAR' => $data_peserta['TGL_DAFTAR'],
                'ID_TERM' => $data_peserta['ID_TERM'],
                'ID_FO' => $data_peserta['ID_FO']
            );
            $this->db->insert('peserta_kelas', $data_suspend_peserta);

            //pindahin data dari tabel get diskon
            $data_diskon = $this->db->get_where('suspend_diskon', $clause_peserta)->result_array();
            foreach ($data_diskon as $d) {
                $data_suspend_diskon = array(
                    'ID_USER' => $d['ID_USER'],
                    'ANGKATAN' => $d['ANGKATAN'],
                    'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                    'ID_DISKON' => $d['ID_DISKON'],
                    'NAMA_DISKON' => $d['NAMA_DISKON'],
                    'BESAR_DISKON' => $d['BESAR_DISKON']
                );
                $this->db->insert('get_diskon', $data_suspend_diskon);
            }
            //pindahin data dari tabel pembayaran
            $data_pembayaran = $this->db->get_where('suspend_pembayaran', $clause_peserta2)->result_array();
            foreach ($data_pembayaran as $d) {
                $data_suspend_pembayaran = array(
                    'ID' => $d['ID'],
                    'ANGKATAN' => $d['ANGKATAN'],
                    'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                    'TGL_BAYAR' => $d['TGL_BAYAR'],
                    'JUMLAH' => $d['JUMLAH'],
                    'ID_FO' => $d['ID_FO']
                );
                $this->db->insert('pembayaran', $data_suspend_pembayaran);
            }
            //pindahin data dari tabel diskon cic card
            $data_diskon_cic = $this->db->get_where('suspend_diskon_cic_card', $clause_peserta3)->result_array();
            foreach ($data_diskon_cic as $c) {
                $data_suspend_cic = array(
                    'ID_PENGGUNA_KARTU' => $c['ID_PENGGUNA_KARTU'],
                    'ANGKATAN' => $c['ANGKATAN'],
                    'KODE_PELATIHAN' => $c['KODE_PELATIHAN'],
                    'NO_CIC_CARD' => $c['NO_CIC_CARD'],
                    'KETERANGAN' => $c['KETERANGAN']
                );
                $this->db->insert('diskon_cic_card', $data_suspend_cic);
            }

            //delete data dari tabel yg lama
            $this->db->where($clause_peserta);
            $this->db->delete('suspend_peserta_kelas');

            $this->db->where($clause_peserta);
            $this->db->delete('suspend_diskon');

            $this->db->where($clause_peserta2);
            $this->db->delete('suspend_pembayaran');

            $this->db->where($clause_peserta3);
            $this->db->delete('suspend_diskon_cic_card');
        }
        redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kelas_baru . '/' . $angkatan_baru);
    }

    function move_different($id, $kelas, $angkatan, $suspend = 0) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $data['id'] = $id;
        $data['kelas'] = $kelas;
        $data['angkatan'] = $angkatan;
        $data['user'] = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['suspend'] = $suspend;

        $query = $this->db->get('diskon');
        $i = 0;
        foreach ($query->result() as $entry) {
            $data['diskon'][$i]['no'] = $entry->ID_DISKON;
            $data['diskon'][$i]['nama'] = $entry->NAMA_DISKON;
            $i++;
        }


        $clause = array(
            'KODE_PELATIHAN !=' => $kelas,
            'STATUS' => 'BELUM'
        );
        $this->db->where($clause);
        $query = $this->db->get('kelas')->result_array();
        $data['pil_kelas'][-1] = '--- Pilih Kelas ---';
        foreach ($query as $kelas) {
            $data['pil_kelas'][$kelas['KODE_PELATIHAN'] . '-' . $kelas['ANGKATAN']] = $kelas['KODE_PELATIHAN'] . '-' . $kelas['ANGKATAN'];
        }

        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/move_different', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function move_different_process($suspend) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        /* algoritma:
         *   0.  ambil data post
         *   1.  cek di tabel get_diskon, apakah ada diskon di kelas lama
         *   2a  klo diskonnya diskon CIC card, cari di tabel diskon cic card buat dapetin nomor kartu yg dipake
         *       stlh dpt nomor kartu, ubah status penggunaan cic cardnya jadi TRUE lagi
         *       cek validitas cic card yang dimasukkin
         *       2a1. Klo cic card yg dimasukin valid, lanjut
         *       2b1. Klo ga valid, kasih warning, sambil ngembaliin status cic card yg tadi dijadiij TRUE ke FALSE lagi
         *       habis itu, hapus diskon di tabel get diskon ama di tabel cic card
         *       update data di peserta kelas ama pembayaran
         *       insert diskon yg baru
         *   2b  klo diskonnya bukan CIC card
         *       2b1 klo valid, cek dia dapet diskon cic card sendiri atau orang
         *           apus data di tabel get diskon
         *           hitung diskon ama total bayar yg baru
         *           insert diskon yg baru
         *           update data di peserta kelas ama pembayaran
         *       2b2 klo ga valid, kasih warning
         */

        // No 0
        $id = $this->input->post('id');
        $kelas_lama = $this->input->post('kelas_lama');
        $angkatan_lama = $this->input->post('angkatan_lama');
        $pil_kelas = $this->input->post('pil_kelas');
        $pil_kelas = explode('-', $pil_kelas);
        $kelas_baru = $pil_kelas[0];
        $angkatan_baru = $pil_kelas[1];
        $nocic = $this->input->post('nocic');
        $diskon = $this->input->post('diskon');

        //ambil biaya di kelas baru
        $info_kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru))->row_array();
        $biaya_kelas = $info_kelas['HARGA'];
        $term_kelas = $info_kelas['TERM'];
        $tahun_kelas = $info_kelas['TAHUN'];
        $id_term = $this->db->get_where('term', array('NO_TERM' => $term_kelas, 'TAHUN' => $tahun_kelas))->row()->ID_TERM;

        // No 1
        $clause = array(
            'ID_USER' => $id,
            'KODE_PELATIHAN' => $kelas_lama,
            'ANGKATAN' => $angkatan_lama
        );

        $this->db->where($clause);
        $this->db->like('NAMA_DISKON', 'Diskon CICCard');
        if (!$suspend) {
            $query_diskon_cic = $this->db->get('get_diskon');
        } else {
            $query_diskon_cic = $this->db->get('suspend_diskon');
        }
        if ($query_diskon_cic->num_rows() > 0) { // ada diskon cic card
            //cek jenis diskonnya, apakah punya sendiri atau orang
            $jenis_diskon = $query_diskon_cic->row()->NAMA_DISKON;
            if ($jenis_diskon == 'Diskon CICCard sendiri') {
                //update status penggunaan CIC card dia jadi true
                $update = array('STATUS_CIC_CARD' => 1);
                $this->db->where('ID', $id);
                $this->db->update('peserta', $update);
            } else {
                //ambil NO CIC Card orang yang dipake
                $where = array(
                    'KODE_PELATIHAN' => $kelas_lama,
                    'ANGKATAN' => $angkatan_lama,
                    'ID_PENGGUNA_KARTU' => $id
                );
                if (!$suspend) {
                    $data_diskon_kartu = $this->db->get_where('diskon_cic_card', $where);
                } else {
                    $data_diskon_kartu = $this->db->get_where('suspend_diskon_cic_card', $where);
                }
                if ($data_diskon_kartu->num_rows() > 0) {
                    $where_cic_card = array();
                    $where_cic_card['NO_CIC_CARD'] = $data_diskon_kartu->row()->NO_CIC_CARD;
                    $update = array('STATUS_CIC_CARD' => 1);
                    $this->db->where($where_cic_card);
                    $this->db->update('peserta', $update);
                }
            }
            if ($nocic != '') { // jika dia masukkin no cic card, cek validitasnya
                $data_ciccard = $this->db->get_where('peserta', array('NO_CIC_CARD' => $nocic, 'STATUS_CIC_CARD' => 1));
                if ($data_ciccard->num_rows() > 0) { //valid
                    //hapus data di tabel diskon cic card
                    $clause_diskon_cic_card = array(
                        'KODE_PELATIHAN' => $kelas_lama,
                        'ANGKATAN' => $angkatan_lama,
                        'ID_PENGGUNA_KARTU' => $id
                    );
                    $this->db->where($clause_diskon_cic_card);
                    if (!$suspend) {
                        $this->db->delete('diskon_cic_card');
                    } else {
                        $this->db->delete('suspend_diskon_cic_card');
                    }
                    //hapus data di tabel get diskon
                    $this->db->where($clause);
                    if (!$suspend) {
                        $this->db->delete('get_diskon');
                    } else {
                        $this->db->delete('suspend_diskon');
                    }
                    //hitung besar diskon CIC Card yg didapet
                    $data_kartu = $data_ciccard->row_array();

                    if ($data_kartu['ID'] != $id) {
                        $besar_diskon = 20;
                        $nama_diskon = 'Diskon CICCard orang';
                        $keterangan = 'kartu orang lain';
                    } else {
                        $besar_diskon = 25;
                        $nama_diskon = 'Diskon CICCard sendiri';
                        $keterangan = 'Digunakan sendiri';
                    }
                    //update status CIC Card yg dipake
                    $update = array('STATUS_CIC_CARD' => 0);
                    $this->db->where('NO_CIC_CARD', $nocic);
                    $this->db->update('peserta', $update);

                    // menghitung total bayar
                    $total_bayar = $biaya_kelas * ((100 - $besar_diskon) / 100);

                    //Insert ke database dapetin diskon CICcard
                    $data_diskon = array(
                        'ID_USER' => $id,
                        'NAMA_DISKON' => $nama_diskon,
                        'BESAR_DISKON' => $besar_diskon,
                        'ANGKATAN' => $angkatan_baru,
                        'KODE_PELATIHAN' => $kelas_baru
                    );
                    if (!$suspend) {
                        $this->db->insert('get_diskon', $data_diskon);
                    } else {
                        $this->db->insert('suspend_diskon', $data_diskon);
                    }
                    //insert ke tabel diskon cic card
                    $ciccard_diskon = array(
                        'NO_CIC_CARD' => $nocic,
                        'ID_PENGGUNA_KARTU' => $id,
                        'KODE_PELATIHAN' => $kelas_baru,
                        'ANGKATAN' => $angkatan_baru,
                        'KETERANGAN' => $keterangan
                    );
                    if (!$suspend) {
                        $this->db->insert('diskon_cic_card', $ciccard_diskon);
                    } else {
                        $this->db->insert('suspend_diskon_cic_card', $ciccard_diskon);
                    }
                    //update data di peserta kelas
                    $data_update = array(
                        'ID_USER' => $id,
                        'KODE_PELATIHAN' => $kelas_baru,
                        'ANGKATAN' => $angkatan_baru,
                        'TOTAL_BAYAR' => $total_bayar,
                        'ID_TERM' => $id_term
                    );
                    $this->db->where($clause);
                    if (!$suspend) {
                        $this->db->update('peserta_kelas', $data_update);
                    } else {
                        $this->db->update('suspend_peserta_kelas', $data_update);
                    }
                    //update data di pembayaran
                    $clause_pembayaran = array(
                        'ID' => $id,
                        'KODE_PELATIHAN' => $kelas_lama,
                        'ANGKATAN' => $angkatan_lama
                    );
                    $data_update_pembayaran = array(
                        'KODE_PELATIHAN' => $kelas_baru,
                        'ANGKATAN' => $angkatan_baru
                    );
                    $this->db->where($clause_pembayaran);
                    if (!$suspend) {
                        $this->db->update('pembayaran', $data_update_pembayaran);
                    } else {
                        $this->db->update('suspend_pembayaran', $data_update_pembayaran);
                    }

                    //move data dari tabel suspend, ke tabel asli

                    if ($suspend) {
                        $clause_peserta = array('ID_USER' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                        $clause_peserta2 = array('ID' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                        $clause_peserta3 = array('ID_PENGGUNA_KARTU' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                        //pindahin data dari tabel peserta kelas ke suspend peserta
                        $data_peserta = $this->db->get_where('suspend_peserta_kelas', $clause_peserta)->row_array();
                        $data_suspend_peserta = array(
                            'ID_USER' => $data_peserta['ID_USER'],
                            'ANGKATAN' => $data_peserta['ANGKATAN'],
                            'KODE_PELATIHAN' => $data_peserta['KODE_PELATIHAN'],
                            'TOTAL_BAYAR' => $data_peserta['TOTAL_BAYAR'],
                            'TGL_DAFTAR' => $data_peserta['TGL_DAFTAR'],
                            'ID_TERM' => $data_peserta['ID_TERM'],
                            'ID_FO' => $data_peserta['ID_FO']
                        );
                        $this->db->insert('peserta_kelas', $data_suspend_peserta);

                        //pindahin data dari tabel get diskon
                        $data_diskon = $this->db->get_where('suspend_diskon', $clause_peserta)->result_array();
                        foreach ($data_diskon as $d) {
                            $data_suspend_diskon = array(
                                'ID_USER' => $d['ID_USER'],
                                'ANGKATAN' => $d['ANGKATAN'],
                                'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                                'ID_DISKON' => $d['ID_DISKON'],
                                'NAMA_DISKON' => $d['NAMA_DISKON'],
                                'BESAR_DISKON' => $d['BESAR_DISKON']
                            );
                            $this->db->insert('get_diskon', $data_suspend_diskon);
                        }
                        //pindahin data dari tabel pembayaran
                        $data_pembayaran = $this->db->get_where('suspend_pembayaran', $clause_peserta2)->result_array();
                        foreach ($data_pembayaran as $d) {
                            $data_suspend_pembayaran = array(
                                'ID' => $d['ID'],
                                'ANGKATAN' => $d['ANGKATAN'],
                                'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                                'TGL_BAYAR' => $d['TGL_BAYAR'],
                                'JUMLAH' => $d['JUMLAH'],
                                'ID_FO' => $d['ID_FO']
                            );
                            $this->db->insert('pembayaran', $data_suspend_pembayaran);
                        }
                        //pindahin data dari tabel diskon cic card
                        $data_diskon_cic = $this->db->get_where('suspend_diskon_cic_card', $clause_peserta3)->result_array();
                        foreach ($data_diskon_cic as $c) {
                            $data_suspend_cic = array(
                                'ID_PENGGUNA_KARTU' => $c['ID_PENGGUNA_KARTU'],
                                'ANGKATAN' => $c['ANGKATAN'],
                                'KODE_PELATIHAN' => $c['KODE_PELATIHAN'],
                                'NO_CIC_CARD' => $c['NO_CIC_CARD'],
                                'KETERANGAN' => $c['KETERANGAN']
                            );
                            $this->db->insert('diskon_cic_card', $data_suspend_cic);
                        }

                        //delete data dari tabel yg lama
                        $this->db->where($clause_peserta);
                        $this->db->delete('suspend_peserta_kelas');

                        $this->db->where($clause_peserta);
                        $this->db->delete('suspend_diskon');

                        $this->db->where($clause_peserta2);
                        $this->db->delete('suspend_pembayaran');

                        $this->db->where($clause_peserta3);
                        $this->db->delete('suspend_diskon_cic_card');
                    }

                    redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kelas_baru . '/' . $angkatan_baru);
                } else {
                    if ($jenis_diskon == 'Diskon CICCard sendiri') {
                        //update status penggunaan CIC card dia jadi false lagi
                        $update = array('STATUS_CIC_CARD' => 0);
                        $this->db->where('ID', $id);
                        $this->db->update('peserta', $update);
                    } else {
                        //ambil NO CIC Card orang yang dipake
                        $where = array(
                            'KODE_PELATIHAN' => $kelas_lama,
                            'ANGKATAN' => $angkatan_lama,
                            'ID_PENGGUNA_KARTU' => $id
                        );
                        $data_diskon_kartu = $this->db->get_where('diskon_cic_card', $where);
                        if ($data_diskon_kartu->num_rows() > 0) {
                            $where_cic_card = array();
                            $where_cic_card['NO_CIC_CARD'] = $data_diskon_kartu->row()->NO_CIC_CARD;
                            $update = array('STATUS_CIC_CARD' => 0);
                            $this->db->where($where_cic_card);
                            $this->db->update('peserta', $update);
                        }
                    }
                    echo 'KARTU TIDAK VALID';
                }
            } else {
                //hapus data di tabel get diskon
                $this->db->where($clause);
                if (!$suspend) {
                    $this->db->delete('get_diskon');
                } else {
                    $this->db->delete('suspend_diskon');
                }
                $gol = $this->db->get_where('user', array('ID' => $id))->row()->GOL;
                //hitung diskon yg baru
                $besar_diskon = 0;
                if (!empty($diskon)) {
                    for ($i = 0; $i < count($diskon); $i++) {
                        $hasil = $this->db->get_where('diskon', array('ID_DISKON' => $diskon[$i]))->row();
                        if (strcasecmp($hasil->NAMA_DISKON, 'diskon golongan') == 0) {
                            // Mendapat diskon golongan
                            switch ($gol) {
                                case 1:
                                    $get_diskon = 15;
                                    $besar_diskon+=15;
                                    break;
                                case 2:
                                    $get_diskon = 15;
                                    $besar_diskon+=15;
                                    break;
                                case 3:
                                    $get_diskon = 10;
                                    $besar_diskon+=10;
                                    break;
                                case 4:
                                    $get_diskon = 0;
                                    $besar_diskon+=0;
                                    break;
                                case 5:
                                    $get_diskon = 100;
                                    $besar_diskon+=100;
                                    break;
                                case 6:
                                    $get_diskon = 100;
                                    $besar_diskon+=100;
                                    break;
                                default:
                                    $get_diskon = 0;
                                    $besar_diskon+=0;
                                    break;
                            }
                        } else {
                            // Mendapat diskon yang didefinisiin di database
                            $besar_diskon+=$hasil->BESAR;
                            $get_diskon = $hasil->BESAR;
                        }

                        // Insert data diskon ke database
                        $pelatihan = explode('-', $kelas);
                        $kode = $pelatihan[0];
                        $angkatan = $pelatihan[1];
                        $data_diskon = array(
                            'ID_USER' => $id,
                            'NAMA_DISKON' => $hasil->NAMA_DISKON,
                            'BESAR_DISKON' => $get_diskon,
                            'ANGKATAN' => $angkatan_baru,
                            'KODE_PELATIHAN' => $kelas_baru
                        );
                        if (!$suspend) {
                            $this->db->insert('get_diskon', $data_diskon);
                        } else {
                            $this->db->insert('suspend_diskon', $data_diskon);
                        }
                    }
                }

                // menghitung total bayar
                $total_bayar = $biaya_kelas * ((100 - $besar_diskon) / 100);

                //update data di peserta kelas
                $data_update = array(
                    'ID_USER' => $id,
                    'KODE_PELATIHAN' => $kelas_baru,
                    'ANGKATAN' => $angkatan_baru,
                    'TOTAL_BAYAR' => $total_bayar,
                    'ID_TERM' => $id_term
                );
                $this->db->where($clause);
                if (!$suspend) {
                    $this->db->update('peserta_kelas', $data_update);
                } else {
                    $this->db->update('suspend_peserta_kelas', $data_update);
                }
                //update data di pembayaran
                $clause_pembayaran = array(
                    'ID' => $id,
                    'KODE_PELATIHAN' => $kelas_lama,
                    'ANGKATAN' => $angkatan_lama
                );
                $data_update_pembayaran = array(
                    'KODE_PELATIHAN' => $kelas_baru,
                    'ANGKATAN' => $angkatan_baru
                );
                $this->db->where($clause_pembayaran);
                if (!$suspend) {
                    $this->db->update('pembayaran', $data_update_pembayaran);
                } else {
                    $this->db->update('suspend_pembayaran', $data_update_pembayaran);
                }

                if ($suspend) {
                    $clause_peserta = array('ID_USER' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                    $clause_peserta2 = array('ID' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                    $clause_peserta3 = array('ID_PENGGUNA_KARTU' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                    //pindahin data dari tabel peserta kelas ke suspend peserta
                    $data_peserta = $this->db->get_where('suspend_peserta_kelas', $clause_peserta)->row_array();
                    $data_suspend_peserta = array(
                        'ID_USER' => $data_peserta['ID_USER'],
                        'ANGKATAN' => $data_peserta['ANGKATAN'],
                        'KODE_PELATIHAN' => $data_peserta['KODE_PELATIHAN'],
                        'TOTAL_BAYAR' => $data_peserta['TOTAL_BAYAR'],
                        'TGL_DAFTAR' => $data_peserta['TGL_DAFTAR'],
                        'ID_TERM' => $data_peserta['ID_TERM'],
                        'ID_FO' => $data_peserta['ID_FO']
                    );
                    $this->db->insert('peserta_kelas', $data_suspend_peserta);

                    //pindahin data dari tabel get diskon
                    $data_diskon = $this->db->get_where('suspend_diskon', $clause_peserta)->result_array();
                    foreach ($data_diskon as $d) {
                        $data_suspend_diskon = array(
                            'ID_USER' => $d['ID_USER'],
                            'ANGKATAN' => $d['ANGKATAN'],
                            'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                            'ID_DISKON' => $d['ID_DISKON'],
                            'NAMA_DISKON' => $d['NAMA_DISKON'],
                            'BESAR_DISKON' => $d['BESAR_DISKON']
                        );
                        $this->db->insert('get_diskon', $data_suspend_diskon);
                    }
                    //pindahin data dari tabel pembayaran
                    $data_pembayaran = $this->db->get_where('suspend_pembayaran', $clause_peserta2)->result_array();
                    foreach ($data_pembayaran as $d) {
                        $data_suspend_pembayaran = array(
                            'ID' => $d['ID'],
                            'ANGKATAN' => $d['ANGKATAN'],
                            'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                            'TGL_BAYAR' => $d['TGL_BAYAR'],
                            'JUMLAH' => $d['JUMLAH'],
                            'ID_FO' => $d['ID_FO']
                        );
                        $this->db->insert('pembayaran', $data_suspend_pembayaran);
                    }
                    //pindahin data dari tabel diskon cic card
                    $data_diskon_cic = $this->db->get_where('suspend_diskon_cic_card', $clause_peserta3)->result_array();
                    foreach ($data_diskon_cic as $c) {
                        $data_suspend_cic = array(
                            'ID_PENGGUNA_KARTU' => $c['ID_PENGGUNA_KARTU'],
                            'ANGKATAN' => $c['ANGKATAN'],
                            'KODE_PELATIHAN' => $c['KODE_PELATIHAN'],
                            'NO_CIC_CARD' => $c['NO_CIC_CARD'],
                            'KETERANGAN' => $c['KETERANGAN']
                        );
                        $this->db->insert('diskon_cic_card', $data_suspend_cic);
                    }

                    //delete data dari tabel yg lama
                    $this->db->where($clause_peserta);
                    $this->db->delete('suspend_peserta_kelas');

                    $this->db->where($clause_peserta);
                    $this->db->delete('suspend_diskon');

                    $this->db->where($clause_peserta2);
                    $this->db->delete('suspend_pembayaran');

                    $this->db->where($clause_peserta3);
                    $this->db->delete('suspend_diskon_cic_card');
                }

                redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kelas_baru . '/' . $angkatan_baru);
            }
        } else {  // ga ada diskon cic card
            if ($nocic != '') { // jika dia masukkin no cic card, cek validitasnya
                $data_ciccard = $this->db->get_where('peserta', array('NO_CIC_CARD' => $nocic, 'STATUS_CIC_CARD' => 1));
                if ($data_ciccard->num_rows() > 0) { //valid
                    //hapus data di tabel get diskon
                    $this->db->where($clause);
                    if (!$suspend) {
                        $this->db->delete('get_diskon');
                    } else {
                        $this->db->delete('suspend_diskon');
                    }
                    //hitung besar diskon CIC Card yg didapet
                    $data_kartu = $data_ciccard->row_array();
                    if ($data_kartu['ID'] != $id) {
                        $besar_diskon = 20;
                        $nama_diskon = 'Diskon CICCard orang';
                        $keterangan = 'kartu orang lain';
                    } else {
                        $besar_diskon = 25;
                        $nama_diskon = 'Diskon CICCard sendiri';
                        $keterangan = 'Digunakan sendiri';
                    }
                    //update status CIC Card yg dipake
                    $update = array('STATUS_CIC_CARD' => 0);
                    $this->db->where('NO_CIC_CARD', $nocic);
                    $this->db->update('peserta', $update);

                    // menghitung total bayar
                    $total_bayar = $biaya_kelas * ((100 - $besar_diskon) / 100);

                    //Insert ke database dapetin diskon CICcard
                    $data_diskon = array(
                        'ID_USER' => $id,
                        'NAMA_DISKON' => $nama_diskon,
                        'BESAR_DISKON' => $besar_diskon,
                        'ANGKATAN' => $angkatan_baru,
                        'KODE_PELATIHAN' => $kelas_baru
                    );
                    if (!$suspend) {
                        $this->db->insert('get_diskon', $data_diskon);
                    } else {
                        $this->db->insert('suspend_diskon', $data_diskon);
                    }
                    //insert ke tabel diskon cic card
                    $ciccard_diskon = array(
                        'NO_CIC_CARD' => $nocic,
                        'ID_PENGGUNA_KARTU' => $id,
                        'KODE_PELATIHAN' => $kelas_baru,
                        'ANGKATAN' => $angkatan_baru,
                        'KETERANGAN' => $keterangan
                    );
                    if (!$suspend) {
                        $this->db->insert('diskon_cic_card', $ciccard_diskon);
                    } else {
                        $this->db->insert('suspend_diskon_cic_card', $ciccard_diskon);
                    }
                    //update data di peserta kelas
                    $data_update = array(
                        'ID_USER' => $id,
                        'KODE_PELATIHAN' => $kelas_baru,
                        'ANGKATAN' => $angkatan_baru,
                        'TOTAL_BAYAR' => $total_bayar,
                        'ID_TERM' => $id_term
                    );
                    $this->db->where($clause);
                    if (!$suspend) {
                        $this->db->update('peserta_kelas', $data_update);
                    } else {
                        $this->db->update('suspend_peserta_kelas', $data_update);
                    }
                    //update data di pembayaran
                    $clause_pembayaran = array(
                        'ID' => $id,
                        'KODE_PELATIHAN' => $kelas_lama,
                        'ANGKATAN' => $angkatan_lama
                    );
                    $data_update_pembayaran = array(
                        'KODE_PELATIHAN' => $kelas_baru,
                        'ANGKATAN' => $angkatan_baru
                    );
                    $this->db->where($clause_pembayaran);
                    if (!$suspend) {
                        $this->db->update('pembayaran', $data_update_pembayaran);
                    } else {
                        $this->db->update('suspend_pembayaran', $data_update_pembayaran);
                    }

                    if ($suspend) {
                        $clause_peserta = array('ID_USER' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                        $clause_peserta2 = array('ID' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                        $clause_peserta3 = array('ID_PENGGUNA_KARTU' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                        //pindahin data dari tabel peserta kelas ke suspend peserta
                        $data_peserta = $this->db->get_where('suspend_peserta_kelas', $clause_peserta)->row_array();
                        $data_suspend_peserta = array(
                            'ID_USER' => $data_peserta['ID_USER'],
                            'ANGKATAN' => $data_peserta['ANGKATAN'],
                            'KODE_PELATIHAN' => $data_peserta['KODE_PELATIHAN'],
                            'TOTAL_BAYAR' => $data_peserta['TOTAL_BAYAR'],
                            'TGL_DAFTAR' => $data_peserta['TGL_DAFTAR'],
                            'ID_TERM' => $data_peserta['ID_TERM'],
                            'ID_FO' => $data_peserta['ID_FO']
                        );
                        $this->db->insert('peserta_kelas', $data_suspend_peserta);

                        //pindahin data dari tabel get diskon
                        $data_diskon = $this->db->get_where('suspend_diskon', $clause_peserta)->result_array();
                        foreach ($data_diskon as $d) {
                            $data_suspend_diskon = array(
                                'ID_USER' => $d['ID_USER'],
                                'ANGKATAN' => $d['ANGKATAN'],
                                'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                                'ID_DISKON' => $d['ID_DISKON'],
                                'NAMA_DISKON' => $d['NAMA_DISKON'],
                                'BESAR_DISKON' => $d['BESAR_DISKON']
                            );
                            $this->db->insert('get_diskon', $data_suspend_diskon);
                        }
                        //pindahin data dari tabel pembayaran
                        $data_pembayaran = $this->db->get_where('suspend_pembayaran', $clause_peserta2)->result_array();
                        foreach ($data_pembayaran as $d) {
                            $data_suspend_pembayaran = array(
                                'ID' => $d['ID'],
                                'ANGKATAN' => $d['ANGKATAN'],
                                'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                                'TGL_BAYAR' => $d['TGL_BAYAR'],
                                'JUMLAH' => $d['JUMLAH'],
                                'ID_FO' => $d['ID_FO']
                            );
                            $this->db->insert('pembayaran', $data_suspend_pembayaran);
                        }
                        //pindahin data dari tabel diskon cic card
                        $data_diskon_cic = $this->db->get_where('suspend_diskon_cic_card', $clause_peserta3)->result_array();
                        foreach ($data_diskon_cic as $c) {
                            $data_suspend_cic = array(
                                'ID_PENGGUNA_KARTU' => $c['ID_PENGGUNA_KARTU'],
                                'ANGKATAN' => $c['ANGKATAN'],
                                'KODE_PELATIHAN' => $c['KODE_PELATIHAN'],
                                'NO_CIC_CARD' => $c['NO_CIC_CARD'],
                                'KETERANGAN' => $c['KETERANGAN']
                            );
                            $this->db->insert('diskon_cic_card', $data_suspend_cic);
                        }

                        //delete data dari tabel yg lama
                        $this->db->where($clause_peserta);
                        $this->db->delete('suspend_peserta_kelas');

                        $this->db->where($clause_peserta);
                        $this->db->delete('suspend_diskon');

                        $this->db->where($clause_peserta2);
                        $this->db->delete('suspend_pembayaran');

                        $this->db->where($clause_peserta3);
                        $this->db->delete('suspend_diskon_cic_card');
                    }

                    redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kelas_baru . '/' . $angkatan_baru);
                } else {
                    echo 'KARTU TIDAK VALID';
                }
            } else {
                //hapus data di tabel get diskon
                $this->db->where($clause);
                if (!$suspend) {
                    $this->db->delete('get_diskon');
                } else {
                    $this->db->delete('suspend_diskon');
                }
                $gol = $this->db->get_where('user', array('ID' => $id))->row()->GOL;
                //hitung diskon yg baru
                $besar_diskon = 0;
                if (!empty($diskon)) {
                    for ($i = 0; $i < count($diskon); $i++) {
                        $hasil = $this->db->get_where('diskon', array('ID_DISKON' => $diskon[$i]))->row();
                        if (strcasecmp($hasil->NAMA_DISKON, 'diskon golongan') == 0) {
                            // Mendapat diskon golongan
                            switch ($gol) {
                                case 1:
                                    $get_diskon = 15;
                                    $besar_diskon+=15;
                                    break;
                                case 2:
                                    $get_diskon = 15;
                                    $besar_diskon+=15;
                                    break;
                                case 3:
                                    $get_diskon = 10;
                                    $besar_diskon+=10;
                                    break;
                                case 4:
                                    $get_diskon = 0;
                                    $besar_diskon+=0;
                                    break;
                                case 5:
                                    $get_diskon = 100;
                                    $besar_diskon+=100;
                                    break;
                                case 6:
                                    $get_diskon = 100;
                                    $besar_diskon+=100;
                                    break;
                                default:
                                    $get_diskon = 0;
                                    $besar_diskon+=0;
                                    break;
                            }
                        } else {
                            // Mendapat diskon yang didefinisiin di database
                            $besar_diskon+=$hasil->BESAR;
                            $get_diskon = $hasil->BESAR;
                        }

                        // Insert data diskon ke database
                        $pelatihan = explode('-', $kelas);
                        $kode = $pelatihan[0];
                        $angkatan = $pelatihan[1];
                        $data_diskon = array(
                            'ID_USER' => $id,
                            'NAMA_DISKON' => $hasil->NAMA_DISKON,
                            'BESAR_DISKON' => $get_diskon,
                            'ANGKATAN' => $angkatan_baru,
                            'KODE_PELATIHAN' => $kelas_baru
                        );
                        if (!$suspend) {
                            $this->db->insert('get_diskon', $data_diskon);
                        } else {
                            $this->db->insert('suspend_diskon', $data_diskon);
                        }
                    }
                }

                // menghitung total bayar
                $total_bayar = $biaya_kelas * ((100 - $besar_diskon) / 100);

                //update data di peserta kelas
                $data_update = array(
                    'ID_USER' => $id,
                    'KODE_PELATIHAN' => $kelas_baru,
                    'ANGKATAN' => $angkatan_baru,
                    'TOTAL_BAYAR' => $total_bayar,
                    'ID_TERM' => $id_term
                );
                $this->db->where($clause);
                if (!$suspend) {
                    $this->db->update('peserta_kelas', $data_update);
                } else {
                    $this->db->update('suspend_peserta_kelas', $data_update);
                }

                //update data di pembayaran
                $clause_pembayaran = array(
                    'ID' => $id,
                    'KODE_PELATIHAN' => $kelas_lama,
                    'ANGKATAN' => $angkatan_lama
                );
                $data_update_pembayaran = array(
                    'KODE_PELATIHAN' => $kelas_baru,
                    'ANGKATAN' => $angkatan_baru
                );
                $this->db->where($clause_pembayaran);
                if (!$suspend) {
                    $this->db->update('pembayaran', $data_update_pembayaran);
                } else {
                    $this->db->update('suspend_pembayaran', $data_update_pembayaran);
                }

                if ($suspend) {
                    $clause_peserta = array('ID_USER' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                    $clause_peserta2 = array('ID' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                    $clause_peserta3 = array('ID_PENGGUNA_KARTU' => $id, 'KODE_PELATIHAN' => $kelas_baru, 'ANGKATAN' => $angkatan_baru);
                    //pindahin data dari tabel peserta kelas ke suspend peserta
                    $data_peserta = $this->db->get_where('suspend_peserta_kelas', $clause_peserta)->row_array();
                    $data_suspend_peserta = array(
                        'ID_USER' => $data_peserta['ID_USER'],
                        'ANGKATAN' => $data_peserta['ANGKATAN'],
                        'KODE_PELATIHAN' => $data_peserta['KODE_PELATIHAN'],
                        'TOTAL_BAYAR' => $data_peserta['TOTAL_BAYAR'],
                        'TGL_DAFTAR' => $data_peserta['TGL_DAFTAR'],
                        'ID_TERM' => $data_peserta['ID_TERM'],
                        'ID_FO' => $data_peserta['ID_FO']
                    );
                    $this->db->insert('peserta_kelas', $data_suspend_peserta);

                    //pindahin data dari tabel get diskon
                    $data_diskon = $this->db->get_where('suspend_diskon', $clause_peserta)->result_array();
                    foreach ($data_diskon as $d) {
                        $data_suspend_diskon = array(
                            'ID_USER' => $d['ID_USER'],
                            'ANGKATAN' => $d['ANGKATAN'],
                            'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                            'ID_DISKON' => $d['ID_DISKON'],
                            'NAMA_DISKON' => $d['NAMA_DISKON'],
                            'BESAR_DISKON' => $d['BESAR_DISKON']
                        );
                        $this->db->insert('get_diskon', $data_suspend_diskon);
                    }
                    //pindahin data dari tabel pembayaran
                    $data_pembayaran = $this->db->get_where('suspend_pembayaran', $clause_peserta2)->result_array();
                    foreach ($data_pembayaran as $d) {
                        $data_suspend_pembayaran = array(
                            'ID' => $d['ID'],
                            'ANGKATAN' => $d['ANGKATAN'],
                            'KODE_PELATIHAN' => $d['KODE_PELATIHAN'],
                            'TGL_BAYAR' => $d['TGL_BAYAR'],
                            'JUMLAH' => $d['JUMLAH'],
                            'ID_FO' => $d['ID_FO']
                        );
                        $this->db->insert('pembayaran', $data_suspend_pembayaran);
                    }
                    //pindahin data dari tabel diskon cic card
                    $data_diskon_cic = $this->db->get_where('suspend_diskon_cic_card', $clause_peserta3)->result_array();
                    foreach ($data_diskon_cic as $c) {
                        $data_suspend_cic = array(
                            'ID_PENGGUNA_KARTU' => $c['ID_PENGGUNA_KARTU'],
                            'ANGKATAN' => $c['ANGKATAN'],
                            'KODE_PELATIHAN' => $c['KODE_PELATIHAN'],
                            'NO_CIC_CARD' => $c['NO_CIC_CARD'],
                            'KETERANGAN' => $c['KETERANGAN']
                        );
                        $this->db->insert('diskon_cic_card', $data_suspend_cic);
                    }

                    //delete data dari tabel yg lama
                    $this->db->where($clause_peserta);
                    $this->db->delete('suspend_peserta_kelas');

                    $this->db->where($clause_peserta);
                    $this->db->delete('suspend_diskon');

                    $this->db->where($clause_peserta2);
                    $this->db->delete('suspend_pembayaran');

                    $this->db->where($clause_peserta3);
                    $this->db->delete('suspend_diskon_cic_card');
                }

                redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kelas_baru . '/' . $angkatan_baru);
            }
        }
    }

    function bayar($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


        $user = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['id'] = $id;
        $data['nama'] = $user['NAMA'];
        $data['nohp'] = $user['NO_TELP'];
        $peserta = $this->db->get_where('peserta', array('ID' => $id))->row_array();
        $data['no_cic'] = $peserta['NO_CIC_CARD'];
        $data['kode'] = $kode;
        $data['angkatan'] = $angkatan;
        $peserta_kelas = $this->db->get_where('peserta_kelas', array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();

        $data['bayar'] = $peserta_kelas['TOTAL_BAYAR'];

        $pelatihan = $peserta_kelas['KODE_PELATIHAN'];
        $angkatan = $peserta_kelas['ANGKATAN'];

        $data['kelas'] = $pelatihan . '-' . $angkatan;

        $kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $pelatihan, 'ANGKATAN' => $angkatan))->row_array();
        $data['biaya'] = $kelas['HARGA'];

        $result = $this->db->query('select sum(JUMLAH) as total from pembayaran where ID=' . $id . ' and KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan)->row();
        $data['sudah_bayar'] = $result->total;

        $potongan = $data['biaya'] - $data['bayar'];

        $data['diskon'] = round($potongan * 100 / $data['biaya']);

        $this->db->order_by('TGL_BAYAR', 'asc');
        $data['history'] = $this->db->get_where('pembayaran', array('ID' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->result_array();


        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/bayar_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function input_bayar($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



        $besar_bayar = $this->input->post('besar');

        if ($besar_bayar == 0) {
            $data['pesan'] = 'Pembayaran tidak boleh 0 <br/> <a href="#" onclick="back()">Kembali</a>';
            $this->load->view('pendaftaran/daftar_header_view');
            $this->load->view('pendaftaran/menu_atas', $display_atas);
            $this->load->view('pendaftaran/pesan_kesalahan', $data);
            $this->load->view('pendaftaran/daftar_footer_view');
        } else {

            $tgl = date('Y-m-d H:i:s');

            $data = array(
                'ID' => $id,
                'TGL_BAYAR' => $tgl,
                'JUMLAH' => $besar_bayar,
                'ID_FO' => $this->session->userdata('ID'),
                'KODE_PELATIHAN' => $kode,
                'ANGKATAN' => $angkatan
            );
            $this->db->insert('pembayaran', $data);

            $user = $this->db->get_where('user', array('ID' => $id))->row_array();
            $data['id'] = $id;
            $data['nama'] = $user['NAMA'];
            $data['nohp'] = $user['NO_TELP'];
            $peserta = $this->db->get_where('peserta', array('ID' => $id))->row_array();
            $data['no_cic'] = $peserta['NO_CIC_CARD'];

            $data['tgl'] = $tgl;
            $data['besar'] = $besar_bayar;

            $peserta_kelas = $this->db->get_where('peserta_kelas', array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();

            $pelatihan = $peserta_kelas['KODE_PELATIHAN'];
            $angkatan = $peserta_kelas['ANGKATAN'];
            $data['kode'] = $pelatihan;
            $data['angkatan'] = $angkatan;
            $data['kelas'] = $pelatihan . '-' . $angkatan;



            $this->load->view('pendaftaran/daftar_header_view');
            $this->load->view('pendaftaran/menu_atas', $display_atas);
            $this->load->view('pendaftaran/struk_view', $data);
            $this->load->view('pendaftaran/daftar_footer_view');
        }
    }

    function convert_no($no) {
        $strno = '' . $no;
        for ($i = 0; $i < 5 - strlen($strno); $i++) {
            $strno = '0' . $strno;
        }
        return $strno;
    }

    function cut_year($year) {
        $stryear = '' . $year;
        return substr($stryear, 2);
    }

    function daftar_old() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');




        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/cari_nocic');
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function cari_user() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $nocic = $this->input->post('nocic');
        $strquery = 'select * from peserta inner join user on peserta.ID=user.ID where peserta.NO_CIC_CARD="' . $nocic . '"';
        $query = $this->db->query($strquery);
        //echo $nocic.' '.$strquery;
        if ($query->num_rows == 1) {
            $hasil = $query->row_array();
            $data['id'] = $hasil['ID'];
            $data['nama'] = $hasil['NAMA'];
            $data['nocic'] = $hasil['NO_CIC_CARD'];
            $data['pesan'] = 'No CIC anda sudah tidak dapat digunakan <br/> <a href="' . base_url() . 'pendaftaran/daftar_con/daftar">Daftar baru</a>';
            $display_atas['nama'] = $this->session->userdata('Nama');
            $display_atas['jumlah'] = $this->session->userdata('jumlah');
            $display_atas['noterm'] = $this->session->userdata('term');
            $display_atas['thnterm'] = $this->session->userdata('tahun');
            // query list term
            $query_list_term = $this->db->get('term')->result_array();
            for ($i = 0; $i < count($query_list_term); $i++) {
                $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
            }
            $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



            $this->load->view('pendaftaran/daftar_header_view');
            $this->load->view('pendaftaran/menu_atas', $display_atas);
            $this->load->view('pendaftaran/hasilcari_view', $data);
            $this->load->view('pendaftaran/daftar_footer_view');
        } else {
            $data['pesan'] = 'No CIC anda sudah tidak dapat digunakan <br/> <a href="' . base_url() . 'pendaftaran/daftar_con/daftar">Daftar baru</a>';
            $display_atas['nama'] = $this->session->userdata('Nama');
            $display_atas['jumlah'] = $this->session->userdata('jumlah');
            $display_atas['noterm'] = $this->session->userdata('term');
            $display_atas['thnterm'] = $this->session->userdata('tahun');

            // query list term
            $query_list_term = $this->db->get('term')->result_array();
            for ($i = 0; $i < count($query_list_term); $i++) {
                $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
            }
            $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');


            $this->load->view('pendaftaran/daftar_header_view');
            $this->load->view('pendaftaran/menu_atas', $display_atas);
            $this->load->view('pendaftaran/pesan_kesalahan', $data);
            $this->load->view('pendaftaran/daftar_footer_view');
        }
    }

    function form_daftar_old($id) {

        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $query = $this->db->get_where('kelas', array('STATUS' => 'BELUM'));
        $data['pelatihan'][-1] = '--- Pilih Kelas ---';
        foreach ($query->result() as $entry) {
            $kode = $entry->KODE_PELATIHAN . '-' . $entry->ANGKATAN;
            $data['pelatihan'][$kode] = $kode;
        }
        $query = $this->db->get('diskon');
        $i = 0;
        foreach ($query->result() as $entry) {
            $data['diskon'][$i]['no'] = $entry->ID_DISKON;
            $data['diskon'][$i]['nama'] = $entry->NAMA_DISKON;
            $i++;
        }

        $data['user'] = $this->db->query('select * from user where ID=' . $id)->row_array();
        $data['peserta'] = $this->db->query('select * from peserta where ID=' . $id)->row_array();

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');




        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/form_old_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function daftar_old_proses() {

        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        $id = $this->input->post('id');
        $nama = $this->input->post('nama');
        $nohp = $this->input->post('nohp');
        $kelas = $this->input->post('kelas');

        $data = array(
            'NAMA' => $nama,
            'NO_TELP' => $nohp
        );
        $this->db->where('id', $id);
        $this->db->update('user', $data);

        $gol = $this->db->get_where('user', array('id' => $id))->row()->GOL;

        $besar_diskon = 0;

        $no = $this->input->post('nocic');


        if ($no != '') {    // jika menggunakan cic card untuk diskon
            $besar_diskon = 25;

            //update status penggunaan cic card
            $update = array('STATUS_CIC_CARD' => 0);
            $this->db->where('NO_CIC_CARD', $no);
            $this->db->update('peserta', $update);

            //insert diskon CICCard ke database
            $pelatihan = explode('-', $kelas);
            $kode = $pelatihan[0];
            $angkatan = $pelatihan[1];
            $data_diskon = array(
                'ID_USER' => $id,
                'NAMA_DISKON' => 'Diskon CICCard sendiri',
                'BESAR_DISKON' => $besar_diskon,
                'ANGKATAN' => $angkatan,
                'KODE_PELATIHAN' => $kode
            );
            $this->db->insert('get_diskon', $data_diskon);

            // insert ke tabel diskon cic card
            $ciccard_diskon = array(
                'NO_CIC_CARD' => $no,
                'ID_PENGGUNA_KARTU' => $id,
                'KODE_PELATIHAN' => $kode,
                'ANGKATAN' => $angkatan,
                'KETERANGAN' => 'digunakan sendiri'
            );
            $this->db->insert('diskon_cic_card', $ciccard_diskon);
        } else {        //ngecek diskon yg dicentang
            $diskon = $this->input->post('diskon');
            if (!empty($diskon)) {
                for ($i = 0; $i < count($diskon); $i++) {
                    $hasil = $this->db->get_where('diskon', array('ID_DISKON' => $diskon[$i]))->row();
                    if (strcasecmp($hasil->NAMA_DISKON, 'diskon golongan') == 0) {
                        switch ($gol) {
                            case 1:
                                $get_diskon = 15;
                                $besar_diskon+=15;
                                break;
                            case 2:
                                $get_diskon = 15;
                                $besar_diskon+=15;
                                break;
                            case 3:
                                $get_diskon = 10;
                                $besar_diskon+=10;
                                break;
                            case 4:
                                $get_diskon = 0;
                                $besar_diskon+=0;
                                break;
                            case 5:
                                $get_diskon = 100;
                                $besar_diskon+=100;
                                break;
                            case 6:
                                $get_diskon = 100;
                                $besar_diskon+=100;
                                break;
                        }
                    } else {
                        $get_diskon = $hasil->BESAR;
                        $besar_diskon+=$hasil->BESAR;
                    }
                    // Insert data diskon ke database
                    $pelatihan = explode('-', $kelas);
                    $kode = $pelatihan[0];
                    $angkatan = $pelatihan[1];
                    $data_diskon = array(
                        'ID_USER' => $id,
                        'ID_DISKON' => $diskon[$i],
                        'NAMA_DISKON' => $hasil->NAMA_DISKON,
                        'BESAR_DISKON' => $get_diskon,
                        'ANGKATAN' => $angkatan,
                        'KODE_PELATIHAN' => $kode
                    );
                    $this->db->insert('get_diskon', $data_diskon);
                }
            }
        }

        $pelatihan = explode('-', $kelas);
        $kode = $pelatihan[0];
        $angkatan = $pelatihan[1];
        $result = $this->db->get_where('kelas', array(
                    'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row();
        $harga = $result->HARGA;
        $tb = (100 - $besar_diskon) / 100 * $harga;
        $total_bayar = $this->division2($tb, 1000);
        $id = $this->input->post('id');
        $data = array(
            'ID_USER' => $id,
            'ANGKATAN' => $angkatan,
            'KODE_PELATIHAN' => $kode,
            'TOTAL_BAYAR' => $total_bayar,
            'TGL_DAFTAR' => date('Y-m-d'),
            'ID_TERM' => $this->session->userdata('idterm'),
            'ID_FO' => $this->session->userdata('ID'),
        );
        $this->db->insert('peserta_kelas', $data);
        redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kode . '/' . $angkatan);
    }

    function history($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');


        $user = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['fo_login']=$this->session->userdata('ID');
        $data['id'] = $id;
        $data['nama'] = $user['NAMA'];
        $data['nohp'] = $user['NO_TELP'];
        $peserta = $this->db->get_where('peserta', array('ID' => $id))->row_array();
        $data['no_cic'] = $peserta['NO_CIC_CARD'];
        $data['kode'] = $kode;
        $data['angkatan'] = $angkatan;
        $peserta_kelas = $this->db->get_where('peserta_kelas', array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();

        $data['bayar'] = $peserta_kelas['TOTAL_BAYAR'];

        $pelatihan = $peserta_kelas['KODE_PELATIHAN'];
        $angkatan = $peserta_kelas['ANGKATAN'];

        $data['kelas'] = $pelatihan . '-' . $angkatan;

        $kelas = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $pelatihan, 'ANGKATAN' => $angkatan))->row_array();
        $data['biaya'] = $kelas['HARGA'];

        $result = $this->db->query('select sum(JUMLAH) as total from pembayaran where ID=' . $id . ' and KODE_PELATIHAN="' . $kode . '" and ANGKATAN=' . $angkatan)->row();
        $data['sudah_bayar'] = $result->total;

        $potongan = $data['biaya'] - $data['bayar'];

        $data['diskon'] = $potongan * 100 / $data['biaya'];

        $this->db->order_by('TGL_BAYAR', 'asc');
        $data['history'] = $this->db->get_where('pembayaran', array('ID' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->result_array();

        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/history_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function konversi_hari($nomor) {
        switch ($nomor) {
            case 1: return 'Senin';
            case 2: return 'Selasa';
            case 3: return 'Rabu';
            case 4: return 'Kamis';
            case 5: return 'Jumat';
            case 6: return 'Sabtu';
            case 7: return 'Minggu';
        }
    }

    function division($bil1, $bil2) {
        $temp = ($bil1 - 1) / $bil2;
        $temp2 = ($bil1 - 1) % $bil2;
        return ($temp - ($temp2 / $bil2));
    }

    function division2($bil1 = '', $bil2 = '') {

        $hasil = $bil1 / $bil2;
        $hasil = round($hasil);
        return 1000 * $hasil;
    }

    function isgenap($nomor) {
        return (($nomor % 2) == 0);
    }

    function konversi_kode_waktu($nomor1, $nomor2) {
        $hasil = 7 + $this->division($nomor1, 2);
        $hasil .= '.';
        if (!$this->isgenap($nomor1))
            $hasil .= '00';
        else
            $hasil .= '30';
        $hasil .= '-';

        if ($this->isgenap($nomor2)) {
            $hasil .= 7 + $this->division($nomor2, 2) + 1;
            $hasil .= '.';
            $hasil .= '00';
        } else {
            $hasil .= 7 + $this->division($nomor2, 2);
            $hasil .= '.';
            $hasil .= '30';
        }
        return $hasil;
    }

//	function batal_bayar($id, $kode, $angkatan, $waktu) {
//		$data = array(
//			'ID'=>$id,
//			'KODE_PELATIHAN'=>$kode,
//			'ANGKATAN'=>$angkatan,
//			'TGL_BAYAR'=>str_replace('%20',' ', $waktu)
//		);
////		var_dump($data);
//		$this->db->delete('pembayaran', $data);
////		die();
//		redirect(base_url().'pendaftaran/daftar_con/bayar/'.$id.'/'.$kode.'/'.$angkatan);
//	}


    function cetak_kuitansi($id, $kode, $angkatan, $waktu) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $data['kode'] = $kode;
        $data['angkatan'] = $angkatan;

        $result = $this->db->get_where('user', array('ID' => $id));
        $array = $result->result_array();

        $data['nama_peserta'] = $array[0]['NAMA'];
        $data['tanggal'] = date('d m Y H.i');

        $data['no_hp_peserta'] = $array[0]['NO_TELP'];

        $result = $this->db->get_where('peserta', array('ID' => $id));
        $array = $result->result_array();

        $data['no_cic_peserta'] = $array[0]['NO_CIC_CARD'];

        $result = $this->db->get_where('pelatihan', array('KODE_PELATIHAN' => $kode));
        $array = $result->result_array();
        $data['nama_pelatihan'] = $array[0]['NAMA_PELATIHAN'];
        $result = $this->db->get_where('kelas', array('KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan));
        $array = $result->result_array();
        $data['jam_total'] = $array[0]['JAM_TOTAL'];
        $data['pertemuan'] = $array[0]['JAM_TOTAL'] / $array[0]['JAM_PER_SESI'];
        $data['term'] = $array[0]['TERM'];
        $data['harga'] = $array[0]['HARGA'];
        $data['harga2'] = $data['harga'];
        $data['sesi_per_minggu'] = $array[0]['SESI_PER_MINGGU'];
        $result = $this->db->get_where('term', array('NO_TERM' => $data['term']));
        $array = $result->result_array();
        $data['tahun_term'] = $array[0]['TAHUN'];
        $result = $this->db->query('SELECT ID_RUANGAN, HARI
                                        FROM  jadwal_pelatihan
                                        WHERE KODE_PELATIHAN="' . $kode . '"
                                        AND ANGKATAN = ' . $angkatan . '
                                        GROUP BY  HARI
                                        LIMIT 0 , 30');
        $array = $result->result_array();
        $hari = array();
        $jam = array();
        for ($i = 0; $i < count($array); $i++) {
            $hari[$i] = $this->konversi_hari($array[$i]['HARI']);
            $result = $this->db->query('SELECT MIN(KODE_WAKTU) AS min,MAX(KODE_WAKTU) as max FROM `jadwal_pelatihan` WHERE HARI =' . $array[$i]['HARI'] . ' AND KODE_PELATIHAN="' . $kode . '"
                                        AND ANGKATAN = ' . $angkatan);
            $array2 = $result->result_array();
            $jam[$i] = $this->konversi_kode_waktu($array2[0]['min'], $array2[0]['max']);
        }
        $data['hari'] = $hari;
        $data['jam'] = $jam;

        $result = $this->db->query('SELECT *
                                        FROM  pembayaran WHERE ID=' . $id . ' AND
                                        KODE_PELATIHAN = "' . $kode . '" AND
                                        ANGKATAN = ' . $angkatan . '
                                        ORDER BY  TGL_BAYAR ASC ');
        $array = $result->result_array();

        /** Pengambilan data dari hasi query */
        $idx = 0;
        $waktu = str_replace('%20', ' ', $waktu);
        for ($i = 0; $i < count($array); $i++) {
            if ($array[$i]['TGL_BAYAR'] == $waktu) {
                $idx = $i;
                break;
            }
        }

        $data['jumlah_pembayaran'] = $array[$idx]['JUMLAH'];
        $data['tanggal_pembayaran'] = $this->date_func->date_konversion_format2($array[$idx]['TGL_BAYAR']);
        $data['nama_petugas'] = $this->db->get_where('user', array('ID' => $array[$idx]['ID_FO']))->row()->NAMA;
        $result = $this->db->get_where('peserta_kelas', array('ID_USER' => $id, 'ANGKATAN' => $angkatan, 'KODE_PELATIHAN' => $kode));
        $array = $result->result_array();
        $data['total_bayar'] = $array[0]['TOTAL_BAYAR'];
        $result = $this->db->query('SELECT SUM(JUMLAH) AS jumlah
                                        FROM  pembayaran WHERE ID=' . $id . ' AND
                                        KODE_PELATIHAN = "' . $kode . '" AND
                                        ANGKATAN = ' . $angkatan . '
                                        ORDER BY  TGL_BAYAR DESC ');
        $array = $result->row_array();

        $data['pembayaran_ke'] = $idx + 1;
        $data['sisa_pembayaran'] = $data['total_bayar'] - $array['jumlah'];
        $data['diskon'] = round(($data['harga'] - $data['total_bayar']) / $data['harga'] * 100);



        $this->load->view('pendaftaran/print', $data);
    }

    function koreksi_bayar($id, $kode, $angkatan, $waktu) {
        $waktu = str_replace('%20', ' ', $waktu);

        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }



        $user = $this->db->get_where('user', array('ID' => $id))->row_array();
        $data['id'] = $id;
        $data['nama'] = $user['NAMA'];
        $data['nohp'] = $user['NO_TELP'];
        $peserta = $this->db->get_where('peserta', array('ID' => $id))->row_array();
        $data['no_cic'] = $peserta['NO_CIC_CARD'];
        $data['kode'] = $kode;
        $data['angkatan'] = $angkatan;
        $data['waktu'] = $waktu;

        $peserta_kelas = $this->db->get_where('peserta_kelas', array('ID_USER' => $id, 'KODE_PELATIHAN' => $kode, 'ANGKATAN' => $angkatan))->row_array();

        $data['bayar'] = $peserta_kelas['TOTAL_BAYAR'];

        $pelatihan = $peserta_kelas['KODE_PELATIHAN'];
        $angkatan = $peserta_kelas['ANGKATAN'];

        $data['kelas'] = $pelatihan . '-' . $angkatan;

        $result = $this->db->query('SELECT SUM(JUMLAH) AS jumlah
                                        FROM  pembayaran WHERE ID=' . $id . ' AND
                                        KODE_PELATIHAN = "' . $kode . '" AND
                                        ANGKATAN = ' . $angkatan . '
                                        AND TGL_BAYAR= "' . $waktu . '" ORDER BY  TGL_BAYAR DESC ');
        $array = $result->row_array();


        $data['jumlah_bayar'] = $array['jumlah'];


        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');




        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/koreksi_bayar_view', $data);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function koreksi_bayar_simpan() {
        $clause['ID'] = $_POST['id'];
        $clause['TGL_BAYAR'] = $_POST['waktu'];
        $clause['KODE_PELATIHAN'] = $_POST['kode'];
        $clause['ANGKATAN'] = $_POST['angkatan'];
        $data['JUMLAH'] = $_POST['besar'];
        $this->db->where($clause);
        $this->db->update('pembayaran', $data);
        redirect(base_url() . 'pendaftaran/daftar_con/history/' . $clause['ID'] . '/' . $clause['KODE_PELATIHAN'] . '/' . $clause['ANGKATAN']);
    }

    function cancel_bayar($id, $kode, $angkatan, $waktu) {
        $waktu = str_replace('%20', ' ', $waktu);
        $clause['ID'] = $id;
        $clause['TGL_BAYAR'] = $waktu;
        $clause['KODE_PELATIHAN'] = $kode;
        $clause['ANGKATAN'] = $angkatan;
        $this->db->where($clause);
        $this->db->delete('pembayaran', $data);
        redirect(base_url() . 'pendaftaran/daftar_con/history/' . $id . '/' . $kode . '/' . $angkatan);
    }

    function edit_data($id, $kode, $angkatan, $err_msg = '') {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $data_user = $this->db->get_where('user', array('ID' => $id))->row_array();
        //kode kesalahan yang ada :
        //1. username sudah digunakan
        //2. ada ketidakcocokan password baru dan password konfirmasi
        if ($err_msg == '') {
            $display['errmsg'] = '';
        } else {
            if ($err_msg == 1) {
                $display['errmsg'] = 'Username tersebut sudah digunakan, coba username yang lain';
            } else if ($err_msg == 2) {
                $display['errmsg'] = 'Konfirmasi password tidak cocok';
            } else {
                $display['errmsg'] = '';
            }
        }
        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;
        $display['nama'] = $data_user['NAMA'];
        $display['notelp'] = $data_user['NO_TELP'];
        $display['id'] = $id;
        $display['password'] = $data_user['PASSWORD'];
        $display['username'] = $data_user['USERNAME'];

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/edit_data', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function edit_data_process() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $id = $this->input->post('id');
        $data_user = $this->db->get_where('user', array('ID' => $id))->row_array();

        $nama = $this->input->post('nama');
        $username = $this->input->post('username');
        $notelp = $this->input->post('notelp');
        $pass1 = $this->input->post('pass1');
        $pass2 = $this->input->post('pass2');
        $kode = $this->input->post('kode');
        $angkatan = $this->input->post('angkatan');

        $data_update = array();

        $data_update['NAMA'] = $nama;
        $data_update['NO_TELP'] = $notelp;

        if ($data_user['USERNAME'] != $username) { //ada perubahan username, cek dulu
            $cek_user = $this->db->get_where('user', array('USERNAME' => $username))->row_array();
            if (count($cek_user) != 0) { //sudah dipakai
                redirect(base_url() . 'pendaftaran/daftar_con/edit_data/' . $id . '/' . $kode . '/' . $angkatan . '/1');
            } else {
                $data_update['USERNAME'] = $username;
            }
        } else { //tidak ada perubahan username
            $data_update['USERNAME'] = $username;
        }

        if ($pass1 != '' || $pass2 != '') { //kalau password diisi
            if ($pass1 != $pass2) { //error karena password tidak sama
                redirect(base_url() . 'pendaftaran/daftar_con/edit_data/' . $id . '/' . $kode . '/' . $angkatan . '/2');
            } else {
                $data_update['PASSWORD'] = md5($pass1);
            }
        }

        $this->db->where('ID', $id);
        $this->db->update('user', $data_update);
        redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kode . '/' . $angkatan);
    }

    function administrasi($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        //query untuk data peserta
        $strquery = 'select * from user natural join peserta where ID=' . $id;
        $data_peserta = $this->db->query($strquery)->row_array();
        $display['id'] = $id;
        $display['nama'] = $data_peserta['NAMA'];
        $display['notelp'] = $data_peserta['NO_TELP'];
        $display['nocic'] = $data_peserta['NO_CIC_CARD'];
        $display['ciccard'] = $data_peserta['STATUS_AMBIL_KARTU'];
        $display['kode'] = $kode;
        $display['angkatan'] = $angkatan;

        //query untuk kelas yang diikuti
        $strquery = 'select * from peserta_kelas where ID_USER=' . $id . ' and ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"';
        $data_kelas = $this->db->query($strquery)->row_array();
        $display['kit'] = $data_kelas['DAPAT_KIT'];
        $display['sertifikat'] = $data_kelas['DAPAT_SERTIFIKAT'];

        $display_atas['nama'] = $this->session->userdata('Nama');
        $display_atas['jumlah'] = $this->session->userdata('jumlah');
        $display_atas['noterm'] = $this->session->userdata('term');
        $display_atas['thnterm'] = $this->session->userdata('tahun');
        // query list term
        $query_list_term = $this->db->get('term')->result_array();
        for ($i = 0; $i < count($query_list_term); $i++) {
            $display_atas['list_term']['Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN']] = 'Term ' . $query_list_term[$i]['NO_TERM'] . ' ' . $query_list_term[$i]['TAHUN'];
        }
        $display_atas['selected_term'] = 'Term ' . $this->session->userdata('term') . ' ' . $this->session->userdata('tahun');



        $this->load->view('pendaftaran/daftar_header_view');
        $this->load->view('pendaftaran/menu_atas', $display_atas);
        $this->load->view('pendaftaran/administrasi_view', $display);
        $this->load->view('pendaftaran/daftar_footer_view');
    }

    function admin_process($id, $kode, $angkatan) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }
        //mengecek apakah kit dicentang
        if (isset($_POST['kit'])) {
            $status_kit = 1;
        } else {
            $status_kit = 0;
        }
        //mengecek apakah sertifikat dicentang
        if (isset($_POST['sertifikat'])) {
            $status_sertifikat = 1;
        } else {
            $status_sertifikat = 0;
        }
        //mengecek apakah kartu cic dicentang
        if (isset($_POST['ciccard'])) {
            $status_ciccard = 1;
        } else {
            $status_ciccard = 0;
        }
        $kondisi = 'where ID_USER=' . $id . ' and ANGKATAN=' . $angkatan . ' and KODE_PELATIHAN="' . $kode . '"';
        $query = 'UPDATE peserta_kelas SET DAPAT_KIT=' . $status_kit . ',DAPAT_SERTIFIKAT=' . $status_sertifikat . ' ' . $kondisi;
        $this->db->query($query);

        $query = 'UPDATE peserta SET STATUS_AMBIL_KARTU=' . $status_ciccard . ' where ID=' . $id;
        $this->db->query($query);
        redirect(base_url() . 'pendaftaran/daftar_con/display_biaya/' . $id . '/' . $kode . '/' . $angkatan);
    }

    function change_term() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $string_term = $this->input->post('pilih_term');
        $res_split = explode(' ', $string_term);
        $no_term = $res_split[1];
        $thn_term = $res_split[2];
        $data_term = $this->db->get_where('term', array('NO_TERM' => $no_term, 'TAHUN' => $thn_term))->row_array();
        $idterm = $data_term['ID_TERM'];
        $status = $data_term['STATUS'];
        $data_session = array(
            'term' => $no_term,
            'idterm' => $idterm,
            'tahun' => $thn_term,
            'status' => $status
        );

        $this->session->set_userdata($data_session);
        redirect(base_url() . 'pendaftaran/daftar_con/home');
    }

    function menu_report_system() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $this->load->view('pendaftaran/report_header');
        $this->load->view('pendaftaran/reporting_system');
    }

    function term_report() {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $idterm = $this->session->userdata('idterm');
        $no_term = $this->session->userdata('term');
        $tahun = $this->session->userdata('tahun');

        //query data term
        $display['term'] = $this->db->get_where('term', array('ID_TERM' => $idterm))->row_array();

        //query untuk mendapatkan total jumlah pendaftar
        $display['total'] = $this->db->get_where('peserta_kelas', array('ID_TERM' => $idterm))->num_rows();

        //query untuk mendapatkan total pemasukan
        $this->db->select_sum('TOTAL_BAYAR');
        $display['total_pemasukan'] = $this->db->get_where('peserta_kelas', array('ID_TERM' => $idterm))->row()->TOTAL_BAYAR;

        //query untuk mendapatkan jumlah kelas
        $all_kelas = $this->db->get_where('kelas', array('TERM' => $no_term, 'TAHUN' => $tahun));
        $display['total_kelas'] = $all_kelas->num_rows();

        //query untuk uang yang sudah masuk
        $list_kelas = $all_kelas->result_array();
        $total_uang_masuk = 0;

        $display['kelas_jalan'] = 0;
        $display['kelas_belum'] = 0;
        $display['kelas_selesai'] = 0;

        $pemasukan_max = 0;
        $pemasukan_min = 999999999;

        $peserta_max = 0;
        $peserta_min = 999;

        $rata2_max = 0;
        $rata2_min = 999999999;

        $display['pelatihan_max'] = array();
        $display['pelatihan_min'] = array();

        $display['peserta_max'] = array();
        $display['peserta_min'] = array();

        $display['rata2_max'] = array();
        $display['rata2_min'] = array();

        for ($i = 0; $i < count($list_kelas); $i++) {

            //mendapatkan uang pemasukan tiap kelas di term tsb
            $this->db->select_sum('TOTAL_BAYAR');
            $list_kelas[$i]['harus_masuk'] = $this->db->get_where('peserta_kelas', array('KODE_PELATIHAN' => $list_kelas[$i]['KODE_PELATIHAN'], 'ANGKATAN' => $list_kelas[$i]['ANGKATAN']))->row()->TOTAL_BAYAR;

            //mendapatkan uang yg masuk dari tiap kelas di term tsb
            $this->db->select_sum('JUMLAH');
            $list_kelas[$i]['total_pemasukan'] = $this->db->get_where('pembayaran', array('KODE_PELATIHAN' => $list_kelas[$i]['KODE_PELATIHAN'], 'ANGKATAN' => $list_kelas[$i]['ANGKATAN']))->row()->JUMLAH;
            $total_uang_masuk+=$list_kelas[$i]['total_pemasukan'];
            //menghitung piutang
            $list_kelas[$i]['piutang'] = $list_kelas[$i]['harus_masuk'] - $list_kelas[$i]['total_pemasukan'];

            //mendapatkan jumlah peserta
            $list_kelas[$i]['jumlah_peserta'] = $this->db->get_where('peserta_kelas', array('KODE_PELATIHAN' => $list_kelas[$i]['KODE_PELATIHAN'], 'ANGKATAN' => $list_kelas[$i]['ANGKATAN']))->num_rows();

            //mendapatkan jumlah peserta dari ITB
            $this->db->join('user', 'user.ID=peserta_kelas.ID_USER');
            $this->db->where(array(
                'KODE_PELATIHAN' => $list_kelas[$i]['KODE_PELATIHAN'],
                'ANGKATAN' => $list_kelas[$i]['ANGKATAN']
            ));
            $this->db->where('(`GOL`!=3 AND `GOL`!= 4 AND `GOL`!= 0)');
            $list_kelas[$i]['jumlah_peserta_ITB'] = $this->db->get('peserta_kelas')->num_rows();

            //mendapatkan rata-rata perorang
            if ($list_kelas[$i]['jumlah_peserta'] != 0) {
                $list_kelas[$i]['rata_per_orang'] = $list_kelas[$i]['harus_masuk'] / $list_kelas[$i]['jumlah_peserta'];
            } else {
                $list_kelas[$i]['rata_per_orang'] = 0;
            }

            /*             * ******************************************************************* */
            //mengecek apakah pemasukan kelas ini max?
            if ($list_kelas[$i]['harus_masuk'] > $pemasukan_max) {
                $display['pelatihan_max'] = $list_kelas[$i];
                $pemasukan_max = $list_kelas[$i]['harus_masuk'];
            }

            //mengecek apakah pemasukan kelas ini min?
            if ($list_kelas[$i]['harus_masuk'] < $pemasukan_min) {
                $display['pelatihan_min'] = $list_kelas[$i];
                $pemasukan_min = $list_kelas[$i]['harus_masuk'];
            }

            /*             * ******************************************************************* */

            //mengecek apakah jumlah peserta kelas ini max?
            if ($list_kelas[$i]['jumlah_peserta'] > $peserta_max) {
                $display['peserta_max'] = $list_kelas[$i];
                $peserta_max = $list_kelas[$i]['jumlah_peserta'];
            }

            //mengecek apakah jumlah peserta kelas ini min?
            if ($list_kelas[$i]['jumlah_peserta'] < $peserta_min) {
                $display['peserta_min'] = $list_kelas[$i];
                $peserta_min = $list_kelas[$i]['jumlah_peserta'];
            }

            /*             * ******************************************************************* */

            //mengecek apakah rata2 bayar kelas ini max?
            if ($list_kelas[$i]['rata_per_orang'] > $rata2_max) {
                $display['rata2_max'] = $list_kelas[$i];
                $rata2_max = $list_kelas[$i]['rata_per_orang'];
            }

            //mengecek apakah jumlah peserta kelas ini min?
            if ($list_kelas[$i]['jumlah_peserta'] < $rata2_min) {
                $display['rata2_min'] = $list_kelas[$i];
                $rata2_min = $list_kelas[$i]['rata_per_orang'];
            }

            /*             * ******************************************************************* */

            //mengecek status kelas ini
            if ($list_kelas[$i]['STATUS'] == 'JALAN') {
                $display['kelas_jalan']++;
            } else if ($list_kelas[$i]['STATUS'] == 'BELUM') {
                $display['kelas_belum']++;
            } else if ($list_kelas[$i]['STATUS'] == 'SELESAI') {
                $display['kelas_selesai']++;
            }
        }

        $display['total_uang_masuk'] = $total_uang_masuk;
        $display['list_kelas'] = $list_kelas;

        for ($i = 0; $i < 7; $i++) {
            $display['dist_peserta'][$i] = 0;
        }


        $strquery = 'SELECT GOL
                    FROM user
                    INNER JOIN peserta_kelas ON user.ID = peserta_kelas.ID_USER
                    WHERE ID_TERM =' . $idterm;
        $data = $this->db->query($strquery)->result_array();
        foreach ($data as $value) {
            foreach ($value as $key => $item) {
                $display['dist_peserta'][$item]++;
            }
        }

        $this->load->view('pendaftaran/term_report2', $display);
    }

    function day_report($tgl) {
        if ($this->session->userdata('Loggedin') == FALSE) {
            redirect(base_url() . 'pendaftaran');
        }

        $find_date = $tgl;

        $this->load->library('date_func');

        $idterm = $this->session->userdata('idterm');
        $no_term = $this->session->userdata('term');
        $tahun = $this->session->userdata('tahun');
        $id_fo = $this->session->userdata('ID');

        $display['nama_fo'] = $this->db->get_where('user', array('ID' => $id_fo))->row()->NAMA;

        //query data term
        $display['term'] = $this->db->get_where('term', array('ID_TERM' => $idterm))->row_array();


        $objdate = date_create_from_format('Y-m-d', $tgl);
        $tgl = $this->date_func->date_konversion_format4(date($tgl));
        $hari = date_format($objdate, 'l');

        $display['tgl'] = $tgl;
        $display['hari'] = $this->date_func->day_localize($hari);

        $batas_bawah = $find_date . ' 00:00:00';
        $batas_atas = $find_date . ' 23:59:59';


        $uang_masuk = 0;
        $uang_keluar = 0;
        $fo = array();
        $data_transaksi = array();
        $i = 0;
        //transaksi pembayaran
        $this->db->order_by('TGL_BAYAR', 'asc');
        $query_bayar = $this->db->get_where('pembayaran', array('TGL_BAYAR >=' => $batas_bawah, 'TGL_BAYAR <=' => $batas_atas))->result_array();

        foreach ($query_bayar as $q) {
            $data_transaksi[$i]['waktu'] = $this->date_func->extract_time($q['TGL_BAYAR']);
            $data_transaksi[$i]['jumlah'] = $q['JUMLAH'];
            $uang_masuk+=$data_transaksi[$i]['jumlah'];
            $data_transaksi[$i]['nama'] = $this->db->get_where('user', array('ID' => $q['ID']))->row()->NAMA;
            $data_transaksi[$i]['kode'] = $q['KODE_PELATIHAN'];
            $data_transaksi[$i]['angkatan'] = $q['ANGKATAN'];
            $data_transaksi[$i]['nama_fo'] = $this->db->get_where('user', array('ID' => $q['ID_FO']))->row()->NAMA;
            if (!isset($fo[$data_transaksi[$i]['nama_fo']])) {
                $fo[$data_transaksi[$i]['nama_fo']] = 0;
            }
            $fo[$data_transaksi[$i]['nama_fo']]++;
            //query jenis transaksi
            $jum_bayar = $this->db->get_where('pembayaran', array('ID' => $q['ID']))->num_rows();
            if ($jum_bayar == 1) {
                $data_transaksi[$i]['jenis'] = 'Pendaftaran baru';
            } else {
                $data_transaksi[$i]['jenis'] = 'Pembayaran';
            }
            $i++;
        }

        //transaksi pembatalan
        $query_keluar = $this->db->get_where('deleted_user', array('TGL >=' => $batas_bawah, 'TGL <=' => $batas_atas))->result_array();

        foreach ($query_keluar as $q) {
            $data_transaksi[$i + 1]['waktu'] = $data_transaksi[$i]['waktu'] = $this->date_func->extract_time($q['TGL']);

            $data_transaksi[$i]['jumlah'] = $q['BIAYA_ADM'];
            $data_transaksi[$i + 1]['jumlah'] = $q['PENGEMBALIAN'];

            $uang_masuk+=$data_transaksi[$i]['jumlah'];
            $uang_keluar+=$data_transaksi[$i + 1]['jumlah'];

            $data_transaksi[$i + 1]['nama'] = $data_transaksi[$i]['nama'] = $this->db->get_where('user', array('ID' => $q['ID_USER']))->row()->NAMA;

            $data_transaksi[$i + 1]['kode'] = $data_transaksi[$i]['kode'] = $q['KODE_PELATIHAN'];
            $data_transaksi[$i + 1]['angkatan'] = $data_transaksi[$i]['angkatan'] = $q['ANGKATAN'];
            $data_transaksi[$i + 1]['nama_fo'] = $data_transaksi[$i]['nama_fo'] = $this->db->get_where('user', array('ID' => $q['ID_FO']))->row()->NAMA;

            if (!isset($fo[$data_transaksi[$i]['nama_fo']])) {
                $fo[$data_transaksi[$i]['nama_fo']] = 0;
            }
            $fo[$data_transaksi[$i]['nama_fo']]+=2;

            $data_transaksi[$i]['jenis'] = 'Biaya administrasi';
            $data_transaksi[$i + 1]['jenis'] = 'Pengembalian';
            $i+=2;
        }

        //sorting array berdasarkan waktu
        $temp = array();
        for ($i = 0; $i < count($data_transaksi) - 1; $i++) {
            for ($j = $i + 1; $j < count($data_transaksi); $j++) {
                //bandingkan dan tukar
                if ($data_transaksi[$i]['waktu'] > $data_transaksi[$j]['waktu']) {
                    $temp = $data_transaksi[$i];
                    $data_transaksi[$i] = $data_transaksi[$j];
                    $data_transaksi[$j] = $temp;
                }
            }
        }

        $display['uang_masuk'] = $uang_masuk;
        $display['uang_keluar'] = $uang_keluar;
        $display['transaksi'] = $data_transaksi;
        $display['fo'] = $fo;

        $this->load->view('pendaftaran/daily_report2', $display);
    }

}
